A meta interpreter is an interpreter for language written in the language itself. An interpreter is, when it comes to programming languages, a program that can take a source program as input and execute the program generating the expected result. A meta-interpreter is an interpreter for a language written in the language itself (you might think that this is rather pointless since you would still need an interpreter to execute the meta-interpreter but that is just negative thinking)
In this assignment you will learn more about functional programming languages as well as practice some Elixir programming. Do the sections one and two before the seminar so that you have a minimal interpreter up and running.
At the seminar we will discuss solutions, look at the extensions and also talk about different strategies.
Here is a summary of the operational semantics that also gives some insight in why we do as we do.
Slides from the TA-session: