The language is now capable of compiling a substantial portion of its own source code to tokens using a single-pass C back-end. The self-hosted compiler includes a handwritten lexer and a parser, with an arena-based allocator to support fast compilation and eliminate GC complexity.
The primary goals for the project are: First-class parallel and concurrent constructs built directly into the language, strong static memory and type guarantees, and a toolchain suitable for building high-performance software
Example:
def main() {
parallel local(mut arena: Arena) {
arena = Arena.create(1024);
val tid = Parallel.thread_id();
val result = worker(ref_of(arena), tid);
println $"Thread {tid} computed {result}";
Arena.destroy(ref_of(arena));
}
}
You can find the repository here: https://github.com/axelang/axe