X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=week1.mdwn;h=967f8144e1b586272051a4667b8bc0b9f2b22df4;hp=5299e29780b16c4b94f0ee16ef4ce45d6d2d90e1;hb=e053dbeb5dc625de22ed8ce69840c02b0f5b9b23;hpb=8f24b96ab01127d54b9efefff669c89b2d03a135 diff --git a/week1.mdwn b/week1.mdwn index 5299e297..967f8144 100644 --- a/week1.mdwn +++ b/week1.mdwn @@ -14,6 +14,7 @@ See also: * [Chris Barker's Lambda Tutorial](http://homepages.nyu.edu/~cb125/Lambda) * [Lambda Animator](http://thyer.name/lambda-animator/) +* [Penn lambda calculator](http://www.ling.upenn.edu/lambda/) Pedagogical software developed by Lucas Champollion, Josh Tauberer and Maribel Romero. Linguistically oriented. * MORE The lambda calculus we'll be focusing on for the first part of the course has no types. (Some prefer to say it instead has a single type---but if you say that, you have to say that functions from this type to this type also belong to this type. Which is weird.) @@ -36,7 +37,6 @@ We'll tend to write (λa M) as just `(\a M)`, so we don't hav Application: (M N) -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: @@ -312,7 +312,7 @@ Finally, you'll see the term **dynamic** used in a variety of ways in the litera * dynamic versus static typing -* dynamic versus lexical scoping +* dynamic versus lexical [[!wikipedia Scope (programming) desc="scoping"]] * dynamic versus static control operators @@ -327,7 +327,7 @@ To read further about the relation between declarative or functional programming * [[!wikipedia Purely functional]] * [[!wikipedia Referential transparency (computer science)]] * [[!wikipedia Imperative programming]] - +* [[!wikipedia Side effect (computer science) desc="Side effects"]] Map @@ -356,6 +356,9 @@ combinatorial logic +[Correction: OCaml is Turing complete, but I'm not sure if the merely functional part is; I suspect it's not.] + + Rosetta Stone =============