theory Geoff Burn defines evaluators E0, E1, E2 and E3 which
when applied to an expression, reduce it to varying degrees.
E0 does no evaluation, E1 it evaluates to
weak head normalform (WHNF), E2 evaluates the structure of a list, i.e. it
evaluates it either to NIL or evaluates it to a CONS and then
applies E2 to the second argument of the CONS. E3 evaluates
the structure of a list and evaluates each element of the list
to
WHNF. This concept can be extended to data structures
(1994-12-12)