Reference overview
The reference docs are organised around what you're looking up:
Language
- Grammar (EBNF) — every production in ISO/IEC 14977 EBNF, the spec implemented by the hand-written parser.
- Types — the integer / float / bool / string / slice / function-type hierarchy.
- Type inference (HM-lite) — Hindley-Milner restricted to declared polymorphism on
@fn[T]/@type[T], no let-generalisation. - Diagnostics — error code catalogue, caret rendering rules, hint format.
Strata
- Strata system — the data-driven dispatch model: how
@stratumregistrations turn into pipeline-phase handlers. - Strata authoring — step-by-step walkthrough for adding a new stratum.
- Compiler API — the
&Compiler::*surface that handlers call:register::*,on::*,ir::*,module::*,diag::*,ast::*,type::*.
CaaS — the library API
- Compiler-as-a-Service — Roslyn-style library surface; how to embed Silicon in your own tooling.
- API surface — generated from
etc/sigil.api.mdvia api-extractor; every@publicexport with its signature. - API boundaries — which subsystems can import which; the rule book for internal vs public.
Stability
See Stability for what's promised stable, what's unstable, what will not be added, and the per-surface versioning rules.