Status
The current formal release is Norm 0.24. This page describes the current toolchain. See the Language Reference for long-term language rules and the version index for per-release delivery records.
Maturity labels
| Label | Meaning |
|---|---|
| Stable | Part of the current release contract, with automated acceptance |
| Experimental | Implemented, but its public shape may still change |
| Internal | Used inside the toolchain without a promised public entry point |
| Planned | A documented design or direction that cannot currently be used |
Language
| Capability | Status | Source of truth |
|---|---|---|
| Class, Value, Interface | Stable | Object model |
| Data enums and exhaustive switch | Stable | Enum and switch |
Nullable types, ?., ??, and control-flow narrowing | Stable | Type system |
| Generic types, functions, methods, and bidirectional inference | Stable | Type inference |
| Lambdas, function values, and declaration references | Stable | Advanced function rules |
| Extension functions | Stable | Function reference |
ref<T> and lexical lifetimes | Stable | Reference rules |
Class<T> and typed declaration references | Stable | Declaration references and reflection |
Annotations, @Document, and typed interceptors | Stable | Annotation specification |
| Packages, modules, and cross-file visibility | Stable | Module system |
| Typed string interpolation | Stable | Literals |
for with break value and else in a value position | Planned | Loop design; the current parser rejects Integer result = for ... |
// and /* */ source comments | Planned | The current lexer treats these markers as operator tokens |
Standard library
| Area | Status |
|---|---|
| Core types, collections, Unicode text, Math, Time | Stable |
| Streaming I/O, filesystem, and resource lifetimes | Stable |
| HTTP client | Stable |
| Command-line parsing, application runtime environment, standard streams, and subprocesses | Experimental |
| JSON, XML, YAML, and unified structured mapping | Stable |
| Validation and Testing | Stable |
| Automatic mapping of values | Stable |
| Automatic mapping of class identity, object graphs, cycles, and polymorphism | Planned |
| HTTP server | Planned |
See the standard library overview for delivered modules. The source and acceptance programs define public entry points.
Tooling
| Capability | Status |
|---|---|
| CLI with bundled Java runtime and JVM development entry | Stable |
| Formatting, diagnostics, completion, signature help, and hover | Stable |
| Go to definition, find references, prepare rename, and rename | Stable |
| Read-only navigation of standard library source | Stable |
| Official VS Code VSIX | Stable |
| Debugger | Planned |
| Online playground | Planned |
Known boundaries
- Automatic serialization currently handles
valueonly. privatehas a source-file boundary.- Generic parameters remain invariant; raw types are unsupported.
- References cannot be stored in fields, containers, generic arguments, return types, or lambda captures.
- There is currently no HTTP server, debugger, or online execution environment.
Adoption decisions should use the latest implementation contract and actual acceptance programs.