About
A language built to learn from
Zeno is a programming language built from scratch by Partha, a firmware engineer, to learn how languages work by making one. It takes what he likes from C, C++, Python, JavaScript, Java and Rust, and leaves out what gets in the way.
The rule above the rules
The entire language must be unambiguous and intuitive.
In practice that means one obvious way to write each thing, no syntax that can be read two ways, no surprising behaviour behind your back, keywords that are plain words, and error messages that say what to write instead. Every feature is checked against it, and the reasoning is written down in the design decisions.
Why firmware first
Most new languages start on a laptop and reach a microcontroller late, if ever. Zeno went the other way: the same source builds with no garbage collector, no heap and no setjmp, memory comes from one pool of a size you choose, and a u8 really is one byte. If a language is clear enough for firmware, it is clear enough for a script.
The name
Zeno of Elea argued that Achilles can never catch a tortoise: before he reaches it he must cover half the distance, then half of what is left, forever. The quantum Zeno effect says a system watched closely enough never changes. Both suit a compiler that will always be almost finished. The bar at the top of every page closes half the distance that is left as you scroll, and never arrives.
Status
Zeno is young. It runs programs, checks them, and compiles them to C and to LLVM, but the syntax can still change and there is no standard library yet. It is a language to read, learn from and experiment with. See the roadmap.
The code
The compiler is plain Rust with no dependencies, about 31,000 lines with its C runtime, in partham20/zeno-lang. This website is plain HTML, CSS and a little JavaScript, built by a short script that runs every sample through Zeno.