From 38f178b5967f0875383d87a92330ecd58979f83e Mon Sep 17 00:00:00 2001 From: Jim Pryor Date: Thu, 25 Nov 2010 22:40:39 -0500 Subject: [PATCH] tweak calc improvements Signed-off-by: Jim Pryor --- advanced_topics/calculator_improvements.mdwn | 4 ++-- code/calculator/calc4.ml | 4 ++-- code/calculator/calc5.ml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/advanced_topics/calculator_improvements.mdwn b/advanced_topics/calculator_improvements.mdwn index 3e51c95b..280604f4 100644 --- a/advanced_topics/calculator_improvements.mdwn +++ b/advanced_topics/calculator_improvements.mdwn @@ -369,7 +369,7 @@ Our evaluation function will now expect a `store` argument as well as an `assign let rec eval (t : term) (g : assignment) (s : store) = match t with Intconstant x -> (Int x, 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 @@ -377,7 +377,7 @@ Our evaluation function will now expect a `store` argument as well as an `assign (* 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) ... | Lambda (arg_var, t2) -> (Closure (arg_var, t2, g), s) ... diff --git a/code/calculator/calc4.ml b/code/calculator/calc4.ml index 378e037f..a04587b8 100644 --- a/code/calculator/calc4.ml +++ b/code/calculator/calc4.ml @@ -38,7 +38,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 @@ -46,7 +46,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 *) 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 *) -- 2.11.0