Primitive expressions Language constructs Combinations
[1] We could have simplified the is_application clause in evaluate by using map (and stipulating that operands returns a list) rather than writing an explicit list_of_values function. We chose not to use map here to emphasize the fact that the evaluator can be implemented without any use of higher-order functions (and thus could be written in a language that doesn't have higher-order functions), even though the language that it supports will include higher-order functions.
[2] In this case, the language being implemented and the implementation language are the same. Contemplation of the meaning of is_true here yields expansion of consciousness without the abuse of substance.
4.1.1 The Core of the Evaluator