X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=topics%2F_week2_lambda_calculus_intro.mdwn;h=d393be1d1c7fc4e683d04b7bd577e658cbfcbd2f;hp=abd2b5c1ca8486380e4b0e0113b2059cabe332cc;hb=1d2be09182c8cba124ec5887f62bb0e1721e0a09;hpb=acee2301a30360ca5a8719f21080d813ac75f899 diff --git a/topics/_week2_lambda_calculus_intro.mdwn b/topics/_week2_lambda_calculus_intro.mdwn index abd2b5c1..d393be1d 100644 --- a/topics/_week2_lambda_calculus_intro.mdwn +++ b/topics/_week2_lambda_calculus_intro.mdwn @@ -219,7 +219,7 @@ a unique result. The essential usefullness of the lambda calculus is that it is wonderfully suited to representing functions. In fact, the untyped -lambda calculus is Turing Complete [[!wikipedia Turing Completeness]]: +lambda calculus is Turing Complete (see [[!wikipedia Turing Completeness]]): all (recursively computable) functions can be represented by lambda terms. (As we'll see, much of the fun will be in unpacking the word "represented".) @@ -341,10 +341,10 @@ need to do some work to show how to represent some of the functions we've become acquainted with. We'll start with the `if ... then ... else...` construction. - if x then y else z + if M then N else L -For a boolean expression `x`, this complex expression evaluates to `y` -if `x` evaluates to `'true`, and to `z` if `x` evaluations to `'false. +For a boolean expression `M`, this complex expression evaluates to `N` +if `M` evaluates to `'true`, and to `L` if `M` evaluations to `'false. So in order to simulate and `if` clause in the lambda calculus, we need to settle on a way to represent `'true` and `'false`.