Merge branch 'pryor'
[lambda.git] / schedule_of_topics.mdwn
index 883c648..52455c5 100644 (file)
@@ -14,10 +14,11 @@ This is very sketchy at this point, but it should give a sense of our intended s
 
 1.     Beta reduction
 2.     Substitution; using alpha-conversion and other strategies
-3.     Conversion versus Reduction
+3.     Conversion versus reduction
 4.     Eta reduction and "extensionality"
 5.     Different evaluation strategies (call by name, call by value, etc.)
 6.     Strongly normalizing vs weakly normalizing vs non-normalizing; Church-Rosser Theorem(s)
+6.     Lambda calculus compared to combinatorial logic
 
 7.     Encoding pairs (and triples and ...)
 8.     Encoding booleans
@@ -28,7 +29,7 @@ This is very sketchy at this point, but it should give a sense of our intended s
 13.    Representing lists as folds
 14.    Typical higher-order functions: map, filter, fold
 
-15.    Recursion exploiting the fold-like representation of numbers and lists (deforestation, zippers)
+15.    Recursion exploiting the fold-like representation of numbers and lists ([deforestation](http://en.wikipedia.org/wiki/Deforestation_%28computer_science%29), [zippers](http://en.wikipedia.org/wiki/Zipper_%28data_structure%29))
 16.    General recursion using omega
 17.    The Y combinator(s); more on evaluation strategies
 
@@ -71,7 +72,7 @@ This is very sketchy at this point, but it should give a sense of our intended s
 ## Side-effects and mutation ##
 
 1.     What difference imperativity makes
-2.     Monads we've already seen, and the "monadic laws" (computer science version)
+2.     Monads we've already seen, and the "monadic laws" [computer science version: Wadler](http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf)
 3.     Side-effects in a purely functional setting, via monads
 4.     The basis of monads in category theory
 5.     Other interesting monads: reader monad, continuation monad