Thanks for making this. It reminds me of the day I fell in love with Haskell. I wanted to learn how a Verilog simulator works. There's a couple good open-source ones but I found the code impenetrable, so I went looking for something like an introductory course and found this obscure, disused code called Hydra which is hard to find. Let me see ... here it is:
https://github.com/garry-sharp/x/tree/master/CA4/HydraLib-0....
After reading for just an hour, the lightbulb came on and I not-only felt I had learned how a digital simulator works but also what a mighty hammer Haskell can be for teaching.
Since then I've read (and unfortunately written) a lot of Haskell that is far less elucidating. It's great to come across something that reminds me how I got turned on in the first place and that I should aspire to produce code that not-only barely gets the job done but also explains itself and embodies a modicum of beauty. Thanks again.