A Scala compiler for the Forth language, a stack-based language that has been used by NASA in spacecraft
My original intent was to keep this close in design to assembler code I pair-programmed with at Recurse, but then I veered off, using it as an excuse to investigate : rolling my own state monad, then using cats, and exploring the use of a free monad/interpreter pattern (but I couldn't work out how to compose State with Either), and lenses
Test cases pass for most functionality. Interactive code at scalafiddle.io