https://github.com/marioariasc/langur
A Scala implementation of the Monkey Language
https://github.com/marioariasc/langur
monkey monkey-language scala3
Last synced: 10 months ago
JSON representation
A Scala implementation of the Monkey Language
- Host: GitHub
- URL: https://github.com/marioariasc/langur
- Owner: MarioAriasC
- License: apache-2.0
- Created: 2022-01-30T14:28:09.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-03-01T07:40:14.000Z (over 1 year ago)
- Last Synced: 2025-07-15T08:01:32.474Z (11 months ago)
- Topics: monkey, monkey-language, scala3
- Language: Scala
- Homepage:
- Size: 110 KB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Langur
A Scala 3 implementation of the [Monkey Language](https://monkeylang.org/)
Langur has 3 sibling implementations:
* [Kotlin](https://github.com/MarioAriasC/monkey.kt)
* [Go](https://github.com/MarioAriasC/monkey)
* [Crystal](https://github.com/MarioAriasC/monyet)
## Status
The two books ([Writing An Interpreter In Go](https://interpreterbook.com/)
and [Writing A Compiler in Go](https://compilerbook.com/)) are implemented.
## Commands
| Script | Description |
|----------------------------------|--------------------------------------------------------------------------------------------------------------|
| [`tests.sh`](tests.sh) | Run all the tests |
| [`build.sh`](build.sh) | Release build |
| [`benchmarks.sh`](benchmarks.sh) | Run the classic monkey benchmark (`fibonacci(35)`), requires one command (`eval`,`eval-fast`,`vm`,`vm-fast`)) |
| [`repl.sh`](repl.sh) | Run the Langur REPL |