arithmatic interpreter
substitution based function interpreter
environment based function interpreter
first class function environment
first class environment dynamic interpreter