exx
[lambda.git] / code / reduction_with_closures.ml
similarity index 98%
rename from code/_reduction_with_environments.ml
rename to code/reduction_with_closures.ml
index db406c7..dc3d8fa 100644 (file)
@@ -58,7 +58,7 @@ let rec eval (term:lambdaTerm) (r:env) : value =
                                       | value -> eval body (push bound_ident value r))
     | App(head, arg) -> (match eval head r with
                            | LiteralV lit -> raise (Stuck (App(Constant(LiteralC lit), arg)))
-                           | Closure (Abstract(bound_ident, body), saved_r) -> let argval = eval arg r in eval body (push bound_ident argval saved_r)
+                           | Closure (Abstract(bound_ident, body), saved_r) -> eval body (push bound_ident arg saved_r) (* FIX ME *)
                            | Closure (Constant (FunctC Leq), saved_r) -> failwith "not yet implemented"
                            | Closure (Constant (FunctC (_ as prim)), saved_r) ->
                                      (match (prim, eval arg r) with