I'm a lover of esoteric languages, and Piet[1] captured my imagination more than any other. So, I wrote a compiler[2] for the language, eventually writing a backend that re-targets Piet itself.

And since I love code golf, I wrote most of the compiler in the extremely tortured form that only fellow golfers can love. But I balanced the golf with extensive comments, as a bit of an experiment on the varied advice that we programmers receive about comments. Do they help? Can I keep them current as the code beneath them changes? (Jury's still out on both, but I find the juxtaposition aesthetically amusing).

Just recently, I made a friend! And by "friend" I mean that another human has written another Piet compiler[3] and it's a beautiful project and we were delighted to discuss our tortuous projects that we wrote for pure fun! So I've gotta plug his compiler too -- it's written in safe Rust! Too cool!

[1] https://www.dangermouse.net/esoteric/piet.html

[2] https://github.com/boothby/repiet

[3] https://github.com/pwang00/pietcc/