An open API service indexing awesome lists of open source software.

https://github.com/marioariasc/julieta

An implementation of the Monkey language in Lua
https://github.com/marioariasc/julieta

interpreter lua monkey monkey-language

Last synced: 5 months ago
JSON representation

An implementation of the Monkey language in Lua

Awesome Lists containing this project

README

        

# Julieta

[Lua](https://www.lua.org/) implementation of the [Monkey Language](https://monkeylang.org/)

Julieta has many sibling implementations.

* Kotlin: [monkey.kt](https://github.com/MarioAriasC/monkey.kt)
* Crystal: [Monyet](https://github.com/MarioAriasC/monyet)
* Scala 3: [Langur](https://github.com/MarioAriasC/langur)
* Ruby 3: [Pepa](https://github.com/MarioAriasC/pepa)
* Python 3: [Bruno](https://github.com/MarioAriasC/bruno)

## Status

The book ([Writing An Interpreter In Go](https://interpreterbook.com/)) is fully implemented. Julieta will not have a
compiler implementation

## Commands

Before running the tests you must install [busted](olivinelabs.com/busted/) from LuaRocks

```shell
luarocks install busted
```

| Script | Description |
|--------------------------------------|----------------------------------------------------|
| [`./tests.sh`](tests.sh) | Run tests |
| [`lua benchmarks.lua`](benchmarks.lua) | Run the classic monkey benchmark (`fibonacci(35)`) |
| [`lua repl.lua`](repl.lua) | Run the Julieta REPL |

You can run the benchmarks and repl files with either Lua or LuaJit. I didn't try any other Lua interpreter

## Acknowlegments

Julieta uses the [lua-oo](https://github.com/limadm/lua-oo) library from Daniel Lima