I used C# for the first part, easy to translate from the Java code but you can make things more concise with modern C# features while still having access to a GC which is kinda necessary for the first part of the book.
I got rid of the code gen and visitor pattern stuff by using records in C# with pattern matching which felt a lot simpler to me.
I got rid of the code gen and visitor pattern stuff by using records in C# with pattern matching which felt a lot simpler to me.