Luna is a work-in-progress hobby implementation of an interpreter for the Scheme programming language.
Why write this, you ask? Well, for starters, the world clearly needed yet another implementation of Scheme. Moreover, programming languages are fun and interesting! In implementing a well-designed, actually useful programming language, this project serves as a vessel for learning about programming language theory, design, and implementation. In particular, the goal is to implement Scheme as defined in R⁷RS.
Luna is written in Rust and hence it uses Cargo as
its build system. Once a Rust distribution is installed, Luna can be built with
the cargo build
command, and run with the cargo run
command. To build with
release optimisations enabled, pass the --release
flag to either command.