Eager, lazy and lambdas
Here is some code that implements case and lambda expressions and also adds a "program" to the interpreter. The program is nothing more than a list of named lambda expressions (but of course with out any free variables). There is also a version that implements a lazy strategy. It's not very efficient but it could be fun to look at; where do we have to do things differently.