specification 0.1.0
Landin
Ada, but small. Zig, but sweeter. One systems language from 32KB to 32TB. Move fast, keep the pointers, and let the compiler tell you when you are being an idiot.
Named after Peter Landin, who coined the term "syntactic sugar" and wrote "The Next 700 Programming Languages". This one is the 701st.
Status: specification 0.1.0. The compiler does not emit code yet. The bootstrap chassis is built and tested on three environments, and the frontend is complete: refine scans, parses, resolves every name, and checks every type and every definite assignment, says what it could not read, and says which work enables anything it refuses.
what it looks like
greeting: utf8 = "hello"
double: (x: i32) -> (r: i32) = r = x * 2 end double
open_file: (path: utf8) -> (handle: u32) ! not_found | no_access = fail no_access when lenof path == 0 handle = 1 end open_file
Every construct is numbered, and the numbers do not move. Read the tour for the other 170.
start here
learn the languageThe tour teaches it in numbered constructs, from comments to runtime dispatch. Start at the top and read down.see what is decidedThe specification is normative: the grammar of the kernel the compiler accepts today, the rules the tour left unsaid, and why each decision went the way it did.understand the designThe design in one page, the principles behind it, and which decisions must not be quietly reversed.see what is leftThe roadmap owns every open item, dependency and gate. It is the only place work is tracked.read the sourceThe repository: these documents, the Ada bootstrap compiler, the fixtures, and the build. Everything on this site is generated from it.