Project

Project Principles

How Topaz approaches product needs, design responsibility, technical feedback and compatibility.

Topaz is a programming language designed to power STUDIO HAZE's own software.

We build and develop Topaz to meet the quality and performance needs of our products. We publish the language specification, executables, manifests and implementation source so others can use and examine it.

1. Pragmatism for real products

Engineering problems in real products are the starting point for language design. When introducing features, we consider safety and performance in real code, type system consistency and long-term maintainability.

We define the problems we intend to solve and focus on improving quality within that scope.

2. Public source and one team's responsibility

STUDIO HAZE is responsible for the design, development and official releases of Topaz. One team owns the roadmap and technical decisions to maintain a consistent design over the long term.

The public GitHub repository hosts source snapshots of official releases. The official website provides documentation and distribution files. We maintain a separate internal development repository.

Anyone may study, modify and create derivative projects from the published source under each component's license. Official executables have separate terms of use.

3. Technical feedback

We value technical feedback from people who examine Topaz closely and identify defects. Bug reports with reproducing code, compiler diagnostic errors and analyses of differences between the specification and implementation help us improve quality.

We review problems according to their impact and reproducibility. We assess feature proposals against the language's design principles and their value in real products.

4. Evolution and compatibility

We improve Topaz's design through experience from actual use. Changes to syntax and the standard library consider product performance, stability and the cost of migrating existing code.

We handle changes that affect compatibility according to the version policy. Release notes and migration guides explain the reasons and the migration steps.


Topaz is a tool we rely on every day. We hope the tool we have built will also help other developers solve their problems.