Working through From Nand to Tetris using Haskell.
The primary goal of this project is not to write elegant Haskell, but to write code that matches the internal wiring of the chips. All files in the src
directory are written with this goal in mind. Some of them are horrifying 🙀
The files in test
, app
and io
are helper modules. Hopefully these are a little more elegant.
I never took Computer Science, so I thought this would be a good opportunity to get to grips with some of the core ideas.
Mostly just because it's my favourite language at the moment. But it's also nice that it's possible to turn off the "Prelude", which strips out all of the built in functionality. This makes it much easier to make sure I can't cheat.