Thanks for your interest in contributing to ilo!
git clone https://github.com/ilo-lang/ilo
cd ilo-lang
cargo test- Run tests:
cargo test - Run clippy:
cargo clippy -- -W clippy::all - Run a program:
cargo run -- 'f x:n>n;*x 2' 5
- Fork the repo and create a feature branch from
main - Make your changes
- Ensure
cargo testandcargo clippypass - Submit a PR with a clear description of the change
The pipeline flows: Lexer -> Parser -> AST -> Verifier -> Interpreter/VM/Cranelift JIT
Key source files:
src/lexer/mod.rs— tokenizersrc/parser/mod.rs— parser producing ASTsrc/ast/mod.rs— AST typessrc/verify.rs— static type checkersrc/interpreter/mod.rs— tree-walking interpretersrc/vm/mod.rs— register-based VMsrc/codegen/python.rs— Python transpilersrc/diagnostic/— error codes and reporting
- r/ilolang — discussion, feedback, and updates
- Email: danieljohnmorris@gmail.com
See SPEC.md for the full language specification. Changes to language syntax or semantics should update the spec.
By contributing, you agree that your contributions will be licensed under the MIT License.