author jim Mon, 6 Apr 2015 14:03:37 +0000 (10:03 -0400) committer Linux User Mon, 6 Apr 2015 14:03:37 +0000 (10:03 -0400)

index c41ee9b..529811c 100644 (file)
@@ -17,17 +17,17 @@ relationships, as in
See her 1999 paper for details.

Here is [[code for the arithmetic tree Chris presented in week 8|code/arith1.ml]]. It computes
See her 1999 paper for details.

Here is [[code for the arithmetic tree Chris presented in week 8|code/arith1.ml]]. It computes
-`\x. (+ 1 (* (/ 6 x) 4))`.  Your task is to modify it to compute
-`\x y. (+ 1 (* (/ 6 x) y))`.  You will need to modify five lines.
+`\n. (+ 1 (* (/ 6 n) 4))`.  Your task is to modify it to compute
+`\n m. (+ 1 (* (/ 6 n) m))`.  You will need to modify five lines.
The first one is the type of a boxed int.  Instead of `type num = int
-> int`, you'll need

type num = int -> int -> int

The second and third are the definitions of `mid` and `map2`. The fourth
The first one is the type of a boxed int.  Instead of `type num = int
-> int`, you'll need

type num = int -> int -> int

The second and third are the definitions of `mid` and `map2`. The fourth
-is the one that encodes the variable `x`, the line that begins `(Leaf
-(Num (fun x -> ...`.  The fifth line you need to modify is the one
-that replaces "4" with "y".  When you have these lines modified,
+is the one that encodes the variable `n`, the line that begins `(Leaf
+(Num (fun n -> ...`.  The fifth line you need to modify is the one
+that replaces "4" with "m".  When you have these lines modified,
you should be able to execute the following expression:

# match eval t2 with Leaf (Num f) -> f 2 4;;
you should be able to execute the following expression:

# match eval t2 with Leaf (Num f) -> f 2 4;;