diff --git a/L3/L3.ml b/L3/L3.ml index 840099e..b37789c 100644 --- a/L3/L3.ml +++ b/L3/L3.ml @@ -120,9 +120,9 @@ module Program = let (st', i', o'), fv :: args = evals c (f :: es) in (match fv with | `C (fargs, st, s) -> - let st'' = alloc st (fargs, args) in + let st'' = alloc st' (fargs, args) in let (st''', i'', o''), v = eval (st'', i', o') s in - (restore st fargs st''', i'', o''), v + (restore st' fargs st''', i'', o''), v | _ -> failwith "a callee did not evaluate to a closure" )