Short for monkey-rs
. An implementation of monkeylang. Previously, I implemented the interpreter in TypeScript. I am re-implementing the interpreter and later compiler in Rust as a learning exercise.
Start the REPL by running cargo run
, then entering some Monkey:
π >> let a = 5;
5
π >> let b = a > 3;
true
π >> let c = a * 99;
495
π >> if (b) { 10 } else { 1 };
10
π >> let d = if (c > a) { 99 } else { 100 };
99
π >> d;
99
π >> d * c * a;
245025
Command history is saved in history.txt
.
cargo-watch
watches over your Cargo project's source. I use it to run my tests and cargo check
whenever a file changes. It's aliased to cargo dev
, which expands to:
cargo watch -x check -x test
Optionally you can append the RUST_BACKTRACE=1
flag to get backtraces.
PRs are welcome! I am not a Rust expert, so I welcome any recommendations on more idiomatic Rust code.