week1 fixes
[lambda.git] / week1.mdwn
index 5299e29..967f814 100644 (file)
@@ -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 <code>(&lambda;a M)</code> as just `(\a M)`, so we don't hav
 <strong>Application</strong>: <code>(M N)</code>
 </blockquote>
 
-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</td>
 </table>
 
 
+[Correction: OCaml is Turing complete, but I'm not sure if the merely functional part is; I suspect it's not.]
+
+
 Rosetta Stone
 =============