Skip to content

elo-lang/elo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

521 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Building software intuitively.

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

Highlights

  • Assisted Memory Management — simple, safe and reliable memory management system
  • Simple, expressive syntax — designed to be readable and writable without ceremony
  • Efficient compilationTCC 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.

Documentation

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.

Building from source-code

Compiler build instructions

The compiler is implemented in Rust. You need to use cargo to build the project.

Dependencies

This compiler depends on:

  • libtcc (TCC) for fast compilation.
  • Clang or MSVC compilers with the system linker for optimized compilation.
Build
  • Windows

    • Run cargo to compile from source, it will automatically link with the dependencies if available
      > cd path\to\elo
      > cargo build --release
  • Linux/MacOS

    • Run cargo to compile from source, it will automatically link with the dependencies if available
      $ cd ./path/to/elo
      $ cargo build --release

Runtime library build instructions

Read them here.


Copyright(C) 2026 Igor Ferreira, Marcio Dantas

Licensed under MIT License. Read LICENSE for more information.

About

Building Software Intuitively

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors