X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=topics%2Fweek2_lambda_intro.mdwn;h=d002abf8da0287a592c2286749f95f22a2326ab6;hp=091e1234dbaef36e5cd163b03bacad2eac19dbc1;hb=4ab26de71d9694f5a65a80cd87d11734cc6aa02b;hpb=b6e2ba40d18b2c1efb84e764d0e07d7f97d57319 diff --git a/topics/week2_lambda_intro.mdwn b/topics/week2_lambda_intro.mdwn index 091e1234..d002abf8 100644 --- a/topics/week2_lambda_intro.mdwn +++ b/topics/week2_lambda_intro.mdwn @@ -228,7 +228,12 @@ abbreviates: ((\x (\y (x y))) x) -We didn't have to insert any parentheses around the inner body of `\y. (x y)` because they were already there. +The outermost parentheses were added because we have an application. `(\x. \y. +...)` became `(\x (\y. ...))` because of the rule for dots. We didn't have to +insert any parentheses around the inner body of `\y. (x y)` because they were +already there. That is, in expressions of the form `\y. (...)`, the dot abbreviates +nothing. It's harmless to write such a dot, though, and it can be conceptually +helpful especially in light of the next convention... **Merging lambdas** An expression of the form `(\x (\y M))`, or equivalently, `(\x. \y. M)`, can be abbreviated as: