https://github.com/giacomocavalieri/glox
A Gleam implementation of the Lox language
https://github.com/giacomocavalieri/glox
lox
Last synced: 27 days ago
JSON representation
A Gleam implementation of the Lox language
- Host: GitHub
- URL: https://github.com/giacomocavalieri/glox
- Owner: giacomocavalieri
- License: mit
- Created: 2023-05-22T09:39:23.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-06-17T17:44:27.000Z (almost 2 years ago)
- Last Synced: 2025-03-28T17:00:00.647Z (about 1 month ago)
- Topics: lox
- Language: Gleam
- Homepage:
- Size: 48.8 KB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# glox
[](https://hex.pm/packages/glox)
[](https://hexdocs.pm/glox/)This project is my attempt at trying to implement the Lox language as described by [Crafting Interpreters](https://craftinginterpreters.com) in Gleam, a really cool functional language that you should [definitely check out](https://gleam.run)!
## Why Glox
Crafting Interpreters is a fantastic read on programming languages and I love its hands-on approach. However, the book examples are all written in Java and take full advantage of mutable data structures; this could make following along the examples quite a challenge if you're using a functional language -- or at least that was my impression.
I hope this project could be a reference for complete newcomers to programming language development in a functional setting.
That's why the project has a lot of comments, maybe to the point of being redundant (sorry in advance to any experienced reader that may be bored!). Hopefully anyone with some Gleam background could follow along without having too many difficulties.## Feedback
If you find a bug or any piece of code that feels obscure and hard to understand or is not well commented, please open an issue. I really want to make this accessible to as many people as possible and your feedback will be greatly appreciated!