Elo is a compiled systems programming language focused on developer experience without sacrificing performance or control. It features a simple syntax, a lean standard library, and Assisted Memory Management (AMM) — a memory model that helps you focus more on what you're building rather than the language.
fn main() {
print('Elo, world!')
}
Visit our website at elo-lang.github.io
- Assisted Memory Management — simple, safe and reliable memory management system
- Simple, expressive syntax — designed to be readable and writable without ceremony
- Efficient compilation — TCC backend for fast compilation, Clang/LLVM for high-performance optimized release builds
- C interoperability — seamless interop with C libraries
NOTE: This language is not finished. Use this piece of software at your own risk. This software offers no warranty over itself. Read LICENSE for more information.
Since this project is still a work in progress, we are still working on how the language will look and feel to the user. For now, we have a simple design documentation (design docs) meant to showcase what we expect to have implemented for Elo.
A lot of what is in the Design Docs is already working perfectly fine, but others are not even close to being done. Please read it with caution and be aware that this is still a preview.
- Read the design docs here.
The compiler is implemented in Rust. You need to use cargo to build the project.
This compiler depends on:
libtcc(TCC) for fast compilation.- Clang or MSVC compilers with the system linker for optimized compilation.
-
Windows
- Run
cargoto compile from source, it will automatically link with the dependencies if available> cd path\to\elo > cargo build --release
- Run
-
Linux/MacOS
- Run
cargoto compile from source, it will automatically link with the dependencies if available$ cd ./path/to/elo $ cargo build --release
- Run
Read them here.
Copyright(C) 2026 Igor Ferreira, Marcio Dantas
Licensed under MIT License. Read LICENSE for more information.