X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=week3.mdwn;h=c18048797f9a3874603fa8b3446e776c3e1ef166;hp=c66526d3c61bc9267d5aaba6b569b2c5f89be230;hb=0075435e792b4c2ef1b718b695aebd016d2929a4;hpb=df8bd50a5d83e9b3f4086d1cb944a603d77181a7 diff --git a/week3.mdwn b/week3.mdwn index c66526d3..c1804879 100644 --- a/week3.mdwn +++ b/week3.mdwn @@ -435,15 +435,15 @@ For those of you who like to watch ultra slow-mo movies of bullets piercing apples, here's a stepwise computation of the application of a recursive function. We'll use a function `sink`, which takes one argument. If the argument is boolean true (i.e., `\x y.x`), it -returns itself (a copy of `sink`); if the argument is boolean false, -it returns I. That is, we want the following behavior: +returns itself (a copy of `sink`); if the argument is boolean false +(`\x y. y`), it returns `I`. That is, we want the following behavior: sink false ~~> I sink true false ~~> I sink true true false ~~> I sink true true true false ~~> I -So we make sink = Y (\f b. b f I): +So we make `sink = Y (\f b. b f I)`: 1. sink false 2. Y (\fb.bfI) false