Letlang specification finalized!

David Delassus
6 min readFeb 4, 2024

A long time has passed since the last update on Letlang… This is mainly because I hadn’t had the free time in the past months. But the last few weeks, I took the time to finalize the specification for the v0.1.0 🙂

For this specification, the syntax of the language has changed to better reflect its semantics. The architecture of the compiler has also been redesigned quite a bit.

All those changes were for the sake of simplicity and clarity. With this specification, the language is now more coherent and less like an aggregate of random features.

A new command line interface

One thing I like about C and C++ (and Rust without Cargo) is the simplicity of the CLI, you take one source file and make a build artifact:

$ gcc -c foo.c -o foo.o

Up until now, Letlang needed a letproject.toml file and expected a specific folder tree. It was inspired by the design of Cargo. But Cargo is not a compiler, it is a package manager/build system. It relies on rustc, the actual Rust compiler.