Lox interpreter from "Crafting Interpreters" implemented in Scala 3, C++ (incomplete), rust (TODO), and maybe also java at some point to experiment with java's pattern matching.
Why? because I find the interpreter of the book to be a very good exercise to experiment with a programming language.
- I provide a nix flake so you can get an environment with the necessary tools
using
nix develop
. - To compile, and test, there is a
Makefile
, but I plan on migrating to bazel when support for bzlmod is more widespread (scala_rules, and rules_nixpkgs). - Testing is done with the testing infrastructure from the original repository (this is why Dart is required).