An interpreter for the Monkey programming language written in Rust
Monkey has a C-like syntax, supports variable bindings, prefix and infix operators, has first-class and higher-order functions, can handle closures with ease and has integers, booleans, arrays and hashes built-in.
There is a book about learning how to make an interpreter: Writing An Interpreter In Go. This is where the Monkey programming language come from.
$ cargo build
$ cargo test
$ cargo run --release --bin monkey_repl
$ cargo run --release --bin monkey_exe -- --src examples/hash.mk