So, I've been writing a simple lisp interpreter in Go: https://github.com/Palats/glop
This is mostly a toy project, with no intention of targeting real usage. I'm mostly writing to learn a bit more about lisp (and variations). There are still a lot of basic things missing.
Also, instead of trying to focus on making it a minimal lisp interpreter (like the excellent http://norvig.com/lispy.html
), I'm trying to dig into error management - how to have good information when something fails. This is something which I found usually lacking in many parsing&interpreter tutorial despite being the source of many interesting problems.