In this course, we explore a very powerful technique. We will develop our own interpreters and compilers for small domains.
Screencasts, Whiteboards, and Slides produced to help you learn
Parts of courses on specific topics
Central to Lisp is the ability to call functions. We are building a language hosted on Clojure, so we will want to call Clojure functions to be able to borrow what’s already there. What’s more, we will want to define our own functions in Crisp, so we develop a way to do that. All with TDD!
We build a Hiccup interpreter.
We define the terms Interpreter and Compiler, and build a model of how they work.
We continue to build out the test suite for our Hiccup evaluator.
Lisps are wonderfully simple languages. Writing one will teach you the basics of recursive evaluation and how to build a Turing complete language while leaning on the host language.
We extend our simple Hiccup interpreter to be safer by default.