author Jim Pryor Sat, 16 Oct 2010 18:13:35 +0000 (14:13 -0400) committer Jim Pryor Sat, 16 Oct 2010 18:13:35 +0000 (14:13 -0400)
Signed-off-by: Jim Pryor <profjim@jimpryor.net>

index 12ddbd6..c62d620 100644 (file)
@@ -9,15 +9,15 @@ Alternate strategy for Y1, Y2
in
C

-is implemented using regular, non-mutual recursion, like this (`f'` is a variable not occurring free in `A`, `B`, or `C`):
+is implemented using regular, non-mutual recursion, like this (`u` is a variable not occurring free in `A`, `B`, or `C`):

-       let rec f' g x = (let f = f' g in A)
-       in let rec g y = (let f = f' g in B)
-       in let f = f' g in C
+       let rec u g x = (let f = u g in A)
+       in let rec g y = (let f = u g in B)
+       in let f = u g in C

or, expanded into the form we've been working with:

-       let f' = Y (\f' g x. (\f. A) (f' g)) in
-       let g  = Y (\g y. (\f. B) (f' g)) in
-       let f  = f' g
+       let u = Y (\u g x. (\f. A) (u g)) in
+       let g = Y (\g y. (\f. B) (u g)) in
+       let f = u g