This is a project I've built after reading "The Structures & Interpretation of Computer Programs".
The 3rd chapter of this book goes into detail on the architecture of interperters and outlines a rough spec of an interpreter for the Logo dialect of LISP.
This is my interpretation (😉) of that rough spec.