Last year I wrote my own lisp by going through the mal documentation over the course of a week. This article is a good overview of the process, but if you’re interested in doing similar, I recommend checking out mal and it’s test suite.
I like mal. Especially as an exercise to learn the language you implement it in.
I worked on mal in a language I already knew, and one that was already in the corpus. It was pretty interesting comparing my implementation with the one already written. It’s on my bucket list to write in a language I’m learning.