edits
[lambda.git] / readings.mdwn
index a740473..7810acd 100644 (file)
@@ -1,9 +1,12 @@
+[[!toc levels=3]]
+
 ## Links to tutorials and other resources on Scheme, OCaml, and Haskell ##
 
 *   Help on [[Learning Scheme]]
 *   Help on [[Learning OCaml]]
 *   Help on [[Learning Haskell]]
 
 ## Links to tutorials and other resources on Scheme, OCaml, and Haskell ##
 
 *   Help on [[Learning Scheme]]
 *   Help on [[Learning OCaml]]
 *   Help on [[Learning Haskell]]
 
+
 <!-- -->
 *   This site's [[explanation of the differences|rosetta1]] between these languages
 
 <!-- -->
 *   This site's [[explanation of the differences|rosetta1]] between these languages
 
 *   [[Famous Computer Scientists|people]]
 
 
 *   [[Famous Computer Scientists|people]]
 
 
+## Old links ##
+
+*The links below are from the last time we taught the course; we should check them again...*
 
 
-<!--
 There's lots of links here already to tutorials and encyclopedia entries about many of the notions we'll be dealing with.
 
 Many of these links are to Wikipedia. You can learn a lot from such articles,
 There's lots of links here already to tutorials and encyclopedia entries about many of the notions we'll be dealing with.
 
 Many of these links are to Wikipedia. You can learn a lot from such articles,
@@ -33,13 +38,13 @@ of an article you don't fully understand, so that you can discuss it with the re
 the group and hopefully get to a point where you can read it again and
 get more out of. (Rinse and repeat.)
 
 the group and hopefully get to a point where you can read it again and
 get more out of. (Rinse and repeat.)
 
-## Functions ##
+### Functions ###
 
 *      [[!wikipedia Higher-order function]]
 *      [[!wikipedia First-class function]]
 *      [[!wikipedia Currying]]
 
 
 *      [[!wikipedia Higher-order function]]
 *      [[!wikipedia First-class function]]
 *      [[!wikipedia Currying]]
 
-## Functional vs imperative programming ##
+### Functional vs imperative programming ###
 
 *      [[!wikipedia Declarative programming]]
 *      [[!wikipedia Functional programming]]
 
 *      [[!wikipedia Declarative programming]]
 *      [[!wikipedia Functional programming]]
@@ -48,7 +53,7 @@ get more out of. (Rinse and repeat.)
 *      [[!wikipedia Side effect (computer science) desc="Side effects"]]
 *      [[!wikipedia Imperative programming]]
 
 *      [[!wikipedia Side effect (computer science) desc="Side effects"]]
 *      [[!wikipedia Imperative programming]]
 
-## General issues about variables and scope in programming languages ##
+### General issues about variables and scope in programming languages ###
 
 *      [[!wikipedia Variable (programming) desc="Variables"]]
 *      [[!wikipedia Free variables and bound variables]]
 
 *      [[!wikipedia Variable (programming) desc="Variables"]]
 *      [[!wikipedia Free variables and bound variables]]
@@ -59,9 +64,8 @@ get more out of. (Rinse and repeat.)
 *      [[!wikipedia Scope (programming) desc="Variable scope"]]
 *      [[!wikipedia Closure (computer science) desc="Closures"]]
 
 *      [[!wikipedia Scope (programming) desc="Variable scope"]]
 *      [[!wikipedia Closure (computer science) desc="Closures"]]
 
-##[[Learning Scheme]]##
 
 
-## Untyped lambda calculus and combinatory logic ##
+### Untyped lambda calculus and combinatory logic ###
 
 *      [[Dana Scott's Turing centenary address on the lambda calculus|http://turing100.acm.org/lambda_calculus_timeline.pdf]]
 *      [[!wikipedia Lambda calculus]]
 
 *      [[Dana Scott's Turing centenary address on the lambda calculus|http://turing100.acm.org/lambda_calculus_timeline.pdf]]
 *      [[!wikipedia Lambda calculus]]
@@ -83,14 +87,14 @@ get more out of. (Rinse and repeat.)
 *      [Combinator Birds](http://www.angelfire.com/tx4/cus/combinator/birds.html)
 *   [Les deux combinateurs et la totalite](http://www.paulbraffort.net/j_et_i/j_et_i.html) by Paul Braffort.
 
 *      [Combinator Birds](http://www.angelfire.com/tx4/cus/combinator/birds.html)
 *   [Les deux combinateurs et la totalite](http://www.paulbraffort.net/j_et_i/j_et_i.html) by Paul Braffort.
 
-## Evaluation Order ##
+### Evaluation Order ###
 
 *      [[!wikipedia Evaluation strategy]]
 *      [[!wikipedia Eager evaluation]]
 *      [[!wikipedia Lazy evaluation]]
 *      [[!wikipedia Strict programming language]]
 
 
 *      [[!wikipedia Evaluation strategy]]
 *      [[!wikipedia Eager evaluation]]
 *      [[!wikipedia Lazy evaluation]]
 *      [[!wikipedia Strict programming language]]
 
-## Confluence, Normalization, Undecidability ##
+### Confluence, Normalization, Undecidability ###
 
 *      [[!wikipedia Church-Rosser theorem]]
 *      [[!wikipedia Normalization property]]
 
 *      [[!wikipedia Church-Rosser theorem]]
 *      [[!wikipedia Normalization property]]
@@ -98,7 +102,7 @@ get more out of. (Rinse and repeat.)
 *      [Scooping the Loop Snooper](http://www.cl.cam.ac.uk/teaching/0910/CompTheory/scooping.pdf), a proof of the undecidability of the halting problem in the style of Dr Seuss by Geoffrey K. Pullum
 
 
 *      [Scooping the Loop Snooper](http://www.cl.cam.ac.uk/teaching/0910/CompTheory/scooping.pdf), a proof of the undecidability of the halting problem in the style of Dr Seuss by Geoffrey K. Pullum
 
 
-## Recursion and the Y Combinator ##
+### Recursion and the Y Combinator ###
 
 *      [[!wikipedia Recursion (computer science) desc="Recursion"]]
 *      [[!wikipedia Y combinator]]
 
 *      [[!wikipedia Recursion (computer science) desc="Recursion"]]
 *      [[!wikipedia Y combinator]]
@@ -111,12 +115,12 @@ get more out of. (Rinse and repeat.)
 *      [The Y Combinator](http://dangermouse.brynmawr.edu/cs245/ycomb_jim.html) derives the applicative-order Y-combinator from scratch, in Scheme. This derivation is similar in flavor to the derivation found in The Little Schemer, but uses a slightly different starting approach...
 *   [The church of the least fixed point, by Sans Pareil](http://www.springerlink.com/content/n4t2v573m58g2755/)
 
 *      [The Y Combinator](http://dangermouse.brynmawr.edu/cs245/ycomb_jim.html) derives the applicative-order Y-combinator from scratch, in Scheme. This derivation is similar in flavor to the derivation found in The Little Schemer, but uses a slightly different starting approach...
 *   [The church of the least fixed point, by Sans Pareil](http://www.springerlink.com/content/n4t2v573m58g2755/)
 
-## Folds ##
+### Folds ###
 
 *    [[!wikipedia Fold (higher-order function)]]
 
 
 
 *    [[!wikipedia Fold (higher-order function)]]
 
 
-## Types ##
+### Types ###
 
 *      [[!wikipedia Typed lambda calculus]]
 *      [[!wikipedia Simply typed lambda calculus]]
 
 *      [[!wikipedia Typed lambda calculus]]
 *      [[!wikipedia Simply typed lambda calculus]]
@@ -133,10 +137,8 @@ get more out of. (Rinse and repeat.)
 *      [[!wikipedia Bottom type]]
 
 
 *      [[!wikipedia Bottom type]]
 
 
-##[[Learning OCaml]]##
-
 
 
-## Monads ##
+### Monads ###
 *      [[!wikipedia Monad (functional programming) desc="Monads in Functional Programming"]]
 *      [Daniel Friedman. A Schemer's View of Monads](/schemersviewofmonads.ps): from <https://www.cs.indiana.edu/cgi-pub/c311/doku.php?id=home> but the link above is to a local copy.
 *      [A Gentle Intro to Haskell: About Monads](http://www.haskell.org/tutorial/monads.html) (link currently broken, check <http://www.haskell.org/haskellwiki/Tutorials>)
 *      [[!wikipedia Monad (functional programming) desc="Monads in Functional Programming"]]
 *      [Daniel Friedman. A Schemer's View of Monads](/schemersviewofmonads.ps): from <https://www.cs.indiana.edu/cgi-pub/c311/doku.php?id=home> but the link above is to a local copy.
 *      [A Gentle Intro to Haskell: About Monads](http://www.haskell.org/tutorial/monads.html) (link currently broken, check <http://www.haskell.org/haskellwiki/Tutorials>)
@@ -197,7 +199,7 @@ in M. Broy, editor, *Marktoberdorf Summer School on Program Design Calculi*, Spr
 *      Monsters and context-shifting, e.g. Gillies/von Fintel on "ifs" [not sure which paper]
 
 
 *      Monsters and context-shifting, e.g. Gillies/von Fintel on "ifs" [not sure which paper]
 
 
-## Monads in Category Theory ##
+### Monads in Category Theory ###
 
 *      [Category Theory at SEP](http://plato.stanford.edu/entries/category-theory/)
 *      [[!wikipedia Category theory]]
 
 *      [Category Theory at SEP](http://plato.stanford.edu/entries/category-theory/)
 *      [[!wikipedia Category theory]]
@@ -213,7 +215,7 @@ in M. Broy, editor, *Marktoberdorf Summer School on Program Design Calculi*, Spr
 *      [A Partial Ordering of some Category Theory applied to Haskell](http://blog.sigfpe.com/2010/03/partial-ordering-of-some-category.html)
 
 
 *      [A Partial Ordering of some Category Theory applied to Haskell](http://blog.sigfpe.com/2010/03/partial-ordering-of-some-category.html)
 
 
-## Side-effects / mutation ##
+### Side-effects / mutation ###
 
 *      [[!wikipedia Referential transparency (computer science)]]
 *      [[!wikipedia Side effect (computer science) desc="Side effects"]]
 
 *      [[!wikipedia Referential transparency (computer science)]]
 *      [[!wikipedia Side effect (computer science) desc="Side effects"]]
@@ -223,7 +225,7 @@ in M. Broy, editor, *Marktoberdorf Summer School on Program Design Calculi*, Spr
 *      [Pointers in OCaml](http://caml.inria.fr/resources/doc/guides/pointers.html)
 
 
 *      [Pointers in OCaml](http://caml.inria.fr/resources/doc/guides/pointers.html)
 
 
-## Continuations ##
+### Continuations ###
 
 *      [[!wikipedia Continuation]]
 *      [[!wikipedia Continuation-passing style]]
 
 *      [[!wikipedia Continuation]]
 *      [[!wikipedia Continuation-passing style]]
@@ -255,16 +257,15 @@ in M. Broy, editor, *Marktoberdorf Summer School on Program Design Calculi*, Spr
 *      [Delimited continuations in natural language semantics](http://okmij.org/ftp/gengo/)
 
 
 *      [Delimited continuations in natural language semantics](http://okmij.org/ftp/gengo/)
 
 
-## The Curry-Howard Correspondence ##
+### The Curry-Howard Correspondence ###
 *      The [[!wikipedia Curry-Howard isomorphism]]
 *      [The Curry-Howard correspondence in Haskell](http://www.thenewsh.com/~newsham/formal/curryhoward/)
 *      [Haskell wikibook on the Curry-Howard Isomorphism](http://en.wikibooks.org/wiki/Haskell/The_Curry-Howard_isomorphism) at Haskell wiki<p>
 
 
 
 *      The [[!wikipedia Curry-Howard isomorphism]]
 *      [The Curry-Howard correspondence in Haskell](http://www.thenewsh.com/~newsham/formal/curryhoward/)
 *      [Haskell wikibook on the Curry-Howard Isomorphism](http://en.wikibooks.org/wiki/Haskell/The_Curry-Howard_isomorphism) at Haskell wiki<p>
 
 
 
-## Linear Logic ##
+### Linear Logic ###
 
 *      [[!wikipedia Linear logic]]
 
 
 
 *      [[!wikipedia Linear logic]]
 
 
--->