| Crates.io | monkey-rs |
| lib.rs | monkey-rs |
| version | 0.1.0 |
| created_at | 2025-07-13 19:00:31.146637+00 |
| updated_at | 2025-07-13 19:00:31.146637+00 |
| description | Monkey programming language interpretter. |
| homepage | https://github.com/micahkepe/monkey-rs |
| repository | https://github.com/micahkepe/monkey-rs |
| max_upload_size | |
| id | 1750701 |
| size | 427,490 |
A Rust implementation of the Monkey programming language from Thorsten Ball's Writing An Interpreter In Go.
"But why the name? Why is it called “Monkey”? Well, because monkeys are magnificent, elegant, fascinating and funny creatures. Exactly like our interpreter" — Thorsten Ball
Runs and evaluates the Monkey source file (`*.monkey`), if provided, else starts a Monkey REPL session to run Monkey code
Usage: monkey [FILE]
Arguments:
[FILE] Path to a Monkey source file to execute (must have `.monkey` extension)
Options:
-h, --help Print help
To run the Monkey REPL:
cargo run --release
To run tests:
cargo test
.monkey FileTo run a Monkey source file:
cargo run --release -- path/to/file.monkey
[!NOTE] The file must have a
.monkeyextension, or the program will exit with an error message. Only the last evaluated statement's output is printed tostdout(alongside anyputs(...)statements).
Comprehensive documentation is available as a mdBook.
You can view the live site here
To build and view the documentation locally:
cd docs
mdbook serve
The documentation covers:
Contributions are welcome! Please open an issue or pull request on GitHub for bug reports, feature requests, or improvements. Ensure code follows Rust conventions and includes tests.
This repository is licensed under the MIT License. See LICENSE for more details.