Show HN: Axe - A Systems Programming Language with Builtin Parallelism and No GC
axelang.orgI'm writing a compiler for a systems language focused on concurrency and parallelism. It’s a re-engineering of a prior work, with an explicit emphasis on memory management and type safety, plus first-class parallel primitives at the language level.
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