X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=code%2Fcalculator%2Fcalc5.ml;fp=code%2Fcalculator%2Fcalc5.ml;h=2f533af3a2aad60def4c827e72336c61b7dc84a2;hp=16e92006c255622d9a820d2cf98b08fb35feb233;hb=38f178b5967f0875383d87a92330ecd58979f83e;hpb=00ea8839bac58c3c1d53460dd34efc4722c8a6f2 diff --git a/code/calculator/calc5.ml b/code/calculator/calc5.ml index 16e92006..2f533af3 100644 --- a/code/calculator/calc5.ml +++ b/code/calculator/calc5.ml @@ -36,7 +36,7 @@ let (Int i1, s') = eval t1 g s in let (Int i2, s'') = eval t2 g s' in (Int (i1 + i2), s'') - | Variable (var) -> ( + | Variable (var) -> (( (* we don't handle cases where g doesn't bind var to any value *) match List.assoc var g with | Nonrecursive value -> value @@ -44,7 +44,7 @@ (* we update savedg to bind self_var to rec_closure here *) let savedg' = (self_var, rec_closure) :: savedg in Closure (arg_var, body, savedg') - ), s + ), s) | Let (var_to_bind, t2, t3) -> (* evaluate t3 under a new assignment where var_to_bind has been bound to the result of evaluating t2 under the current assignment *)