Language Reference
Practical syntax and semantic notes for the language implemented by the current compiler.
The language reference is the public reference for documented 0.0.0-dev
behavior. If the compiler disagrees with a documented rule, treat that as a
compiler bug or a documentation bug until resolved.
The pages are organized as focused reference topics: syntax, typing, evaluation, ownership, errors, unsafe code, async, and known limitations. Compiler tests and implementation changes are used as evidence when maintaining these pages; Tree-sitter is editor syntax support, not the public language contract.
Current Language Surface
Current 0.0.0-dev source boundaries for modules, attributes, types, unsafe code, FFI, async, cleanup, and traps.
Diagnostics
Common compiler checks for fallible calls, unsafe operations, nullable chains, moves, and unsupported source forms.
Syntax Basics
Comments, keywords, types, strings, operators, evaluation order, control flow, and grammar.
Data Modeling
Structs, interfaces, visibility, enums, match, generics, function overloading, and calls.
Safety and Runtime
Error handling, optional chaining, move/copy/clone, RAII, safety, FFI, layout, dynamic modules, and async.
Reference Tables
Attributes, grammar, formatting policy, SIMD vectors, closures, captures, and implementation-backed feature notes.
Note
0.0.0-devis unreleased. These pages are normative for current documented behavior, but they are not a compatibility promise for future commits.