-
-2. One of the
-[[criteria we established for classifying reduction strategies|
-topics/week3_evaluation_order]]
-strategies is whether they reduce subexpressions hidden under lambdas.
-That is, for a term like `(\x y. x z) (\x. x)`, do we reduce to
-`\y.(\x.x) z` and stop, or do we reduce further to `\y.z`? Explain
-what the corresponding question would be for CL. Using either the
-OCaml CL evaluator or the Haskell evaluator developed in the wiki
-notes, prove that the evaluator does reduce expressions inside of
-"functional" CL expressions. Then provide a modified evaluator that
-does not perform reductions in those positions.
+2. One of the [[criteria we established for classifying reduction
+strategies|topics/week3_evaluation_order]] strategies is whether they
+reduce subexpressions hidden under lambdas. That is, for a term like
+`(\x y. x z) (\x. x)`, do we reduce to `\y.(\x.x) z` and stop, or do
+we reduce further to `\y.z`? Explain what the corresponding question
+would be for CL. Using either the OCaml CL evaluator or the Haskell
+evaluator developed in the wiki notes, prove that the evaluator does
+reduce expressions inside of at least some "functional" CL
+expressions. Then provide a modified evaluator that does not perform
+reductions in those positions. (Just give the modified version of your
+recursive reduction function.)