Compatibility

Language and Compatibility

How to use the specification, checker, outputs, examples, and bounded evidence without overclaiming.

Different parts of the Topaz product answer different questions. Use the language definition to decide what a program means, the checker to decide whether a source file is admitted, and execution evidence to decide what was observed in a particular environment.

Which authority answers which question?

AuthorityWhat it establishesWhat it does not establish
Language specification (SPEC)Canonical syntax, types, semantics, and observable language boundariesThat an implementation has no bugs, or that every output target supports every feature
CheckerWhether this source parses, resolves, type-checks, and is admitted for the selected useRuntime behavior, output equivalence, or correctness of an external program
Interpreter and output targetsDirect behavior or a generated product for a selected target; unsupported target behavior must be rejected clearlyIdentical generated internals, identical performance, or universal target support
Canonical examplesOne supported form or workflow with an observable resultExhaustive coverage or permission for syntax that the specification does not define
Tests and verification receiptsWhat happened for named inputs, toolchains, environments, profiles, and limitsFormal verification, whole-language parity, or proof that no divergence exists outside the recorded experiment

A practical verification path

  1. Start from the current language pages and canonical examples.
  2. Run topaz check to catch syntax, name, type, and selected-profile errors.
  3. Run the program and its tests. Record the outputs, diagnostics, file changes, and exit status that matter to the application.
  4. Build the intended output target and check its documented limits. A target that cannot preserve required behavior must fail clearly.
  5. When reading a test result or receipt, keep its exact inputs, environment, and limits attached to the claim.

The common command sequence is:

BASH
topaz check main.tpz
topaz run main.tpz
topaz build main.tpz --out-dir build

Comparing compiler evidence

Canonical compiler observations let two runs compare named boundaries without claiming more than the selected evidence establishes. Use semantic for the ordered source-set through diagnostic and outcome phases, generated-source for exact emitted Rust, provenance for producer identity, and native-binary for exact same-target executable bytes. Equality in one layer does not imply equality in another, and a passing workload is bounded evidence, not proof of whole-language equivalence.