Project

History

How Topaz language syntax and its compiler evolved from the v5 baseline.

Topaz v5 began with a compact expression-oriented language, explicit recoverable errors through Result, and Unicode identifiers as a normal part of source code. This page records the language and tool changes that matter to users.

Evolution at a glance

VersionLanguage changeToolchain change
v5.0Established the expression-oriented, Result-first, Unicode-friendly baseline.Fixed the overall language direction and canonical example style.
v5.1Added while, break, and continue, and clarified layout, operators, patterns, concurrency, and templates.Strengthened the interpreter-led grammar and behavior checks.
v5.2Added the locked import/export module grammar and visibility rules.Aligned the language, compiler, runtime, and distribution on the first public v5.2 line.
v5.3Kept the v5.2 module foundation while expanding the library needed by real programs.Binaries, the playground, docs, and npm package advanced rapidly and were published at slightly different times. This was release timing, not a split in language meaning.
v5.4Preserved the established v5 syntax while tightening practical tool boundaries.Standardized platform binaries and installation, then added experimental Python generation in v5.4.1.
v5.5Continued compatible standard-library and runtime growth.Promoted Python to a supported backend and expanded interpreter/Rust/Python comparison coverage.
v5.6Consolidates current generics, nominal data, record update, patterns, pipelines, and the broader standard library/runtime contract.Releases the interpreter, Rust, Python, WASM playground, and package tools on one v5.6 line.

Current baseline

This manual describes the current v5.6 release. See Toolchain Status for installation, compatibility, and target information, or Migrating from pre-v5 for syntax changes from older material.

Continue reading