* Lecture 9B: Explicit-Control Evaluator https://youtu.be/Z8-qWEEwTCk text ยง 5.4 whoa lookit that hat!! we've looked at the magic of building new languages : / \ : | escher digital query | : | pict logic | : \ / : L I S P q: "what is lisp good for?" a: "nothing in particular." lisp is good at constructing the right language for the problem at hand so what's lisp based on? the metacircular evaluator well what does that mean? "for our final piece of magic, we're going to make all the magic go away" ( woooOOOOoooOOOOooOOOO :) we can build it on the register machine we already have all the ingredients i <3 the happy lisp user the machine has seven registers: - exp - env - fun - argl - continue - val - unev the evaluator does a case analysis on the types of expressions THE EVAL/APPLY CYCLE --> break this is the first time ive seen a prepped blackboard LMAOOOO the execution unit!!! im dyingggg this is hella cool shouts out to our primitive operator!! slay queen!! --> break THE EVAL/APPLY CYCLE no accumulated state--when an expression is reduced, there is nothing on the stack even though it might be in the middle of a function --> break look at a recursive procedure (in execution! not just definition) tail recursion comes from apply being very careful about what it needs next time ok let's stop!