With Detours To Haskell, Lisp, C, and Go
What can I say, I've written a Game Boy emulator in Go. I don't have much to say about the emulator itself—it works, save for a few games1, has full sound emulation and configurable joystick/gamepad input—so much as the process of writing it.
The process was a long one spanning several months, even though the final version itself was almost entirely written in two to three days. The reason is the amount of time I spent messing around with prototypes written in other languages: two independent Haskell implementations, another one in C, and yet another in Common Lisp.