it's an interpreter of a language like Python, and simpler. It's implemented using a functional language Racket.
beside a mostly pure-functional code (except the Memory-Management part), the idea of implementing the interpretation parts are mostly new and inspired by the course.