X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=week1.mdwn;h=67dce382b4e6536cc1cdf318bd606e7c68ceb18c;hp=0207f0ceae92b3e0eafc4513fa279d8007de294e;hb=180b5fcb23d05c1f7ea98d02517dc3d697ce111d;hpb=6ca041c08f7d5eccc1550af16de405c66fb23139 diff --git a/week1.mdwn b/week1.mdwn index 0207f0ce..67dce382 100644 --- a/week1.mdwn +++ b/week1.mdwn @@ -59,7 +59,6 @@ We'll tend to write (λa M) as just `(\a M)`, so we don't hav Some authors reserve the term "term" for just variables and abstracts. We'll probably just say "term" and "expression" indiscriminately for expressions of any of these three forms. -
Examples of expressions: x @@ -71,8 +70,6 @@ Examples of expressions: (x (\x x)) ((\x (x x)) (\x (x x))) -
- The lambda calculus has an associated proof theory. For now, we can regard the proof theory as having just one rule, called the rule of **beta-reduction** or "beta-contraction". Suppose you have some expression of the form: @@ -606,7 +603,6 @@ Here's how it looks to say the same thing in various of these languages. It's easy to be lulled into thinking this is a kind of imperative construction. *But it's not!* It's really just a shorthand for the compound "let"-expressions we've already been looking at, taking the maximum syntactically permissible scope. (Compare the "dot" convention in the lambda calculus, discussed above.) - 9. Some shorthand OCaml permits you to abbreviate: @@ -677,12 +673,15 @@ Here's how it looks to say the same thing in various of these languages. and there's no more mutation going on there than there is in: + Some more comparisons between Scheme and OCaml ----------------------------------------------