coverted Oleg's Haskell lib -> ML -> JS
[lambda.git] / offsite_reading.mdwn
index 272b8a1..0c6a19d 100644 (file)
@@ -14,22 +14,10 @@ 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.)
 
-
-## General issues about variables and binding in programming languages ##
-
-*      [[!wikipedia Variable (programming) desc="Variables"]]
-*      [[!wikipedia Variable shadowing]]
-*      [[!wikipedia Scope (programming) desc="Variable scope"]]
-*      [[!wikipedia Free variables and bound variables]]
-*      [[!wikipedia Name binding]]
-*      [[!wikipedia Name resolution]]
-*      [[!wikipedia Parameter (computer science) desc="Function parameters"]]
-
-## Functions as values, etc ##
+## Functions ##
 
 *      [[!wikipedia Higher-order function]]
 *      [[!wikipedia First-class function]]
-*      [[!wikipedia Closure (computer science) desc="Closures"]]
 *      [[!wikipedia Currying]]
 
 ## Functional vs imperative programming ##
@@ -40,29 +28,56 @@ get more out of. (Rinse and repeat.)
 *      [[!wikipedia Referential transparency (computer science)]]
 *      [[!wikipedia Imperative programming]]
 
+## General issues about variables and scope in programming languages ##
+
+*      [[!wikipedia Variable (programming) desc="Variables"]]
+*      [[!wikipedia Free variables and bound variables]]
+*      [[!wikipedia Variable shadowing]]
+*      [[!wikipedia Name binding]]
+*      [[!wikipedia Name resolution]]
+*      [[!wikipedia Parameter (computer science) desc="Function parameters"]]
+*      [[!wikipedia Scope (programming) desc="Variable scope"]]
+*      [[!wikipedia Closure (computer science) desc="Closures"]]
+
+##[[Learning Scheme]]##
+
+*      [Try Scheme in your web browser](http://tryscheme.sourceforge.net/)
+
 ## Untyped lambda calculus and combinatory logic ##
 
 *      [[!wikipedia Lambda calculus]]
 *      [Chris Barker's Lambda Tutorial](http://homepages.nyu.edu/~cb125/Lambda)
-*      [Lambda Animator](http://thyer.name/lambda-animator/)<p>
+*      [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.<p>
+
 <!-- Haskell Curry had ideas that he felt were validated upon reading a 1924 paper by M. Schönfinkel "Uber die Bausteine der mathematischen Logik" which used combinators in a similar way to his own ideas. Haskell then wrote "An analysis of logical substitution" which appeared in the American Journal of Mathematics in 1929. -->
 *      [[!wikipedia Moses Schönfinkel]]
 *      [[!wikipedia Haskell Curry]]
 *      [[!wikipedia Alonzo Church]]<p>
+*      [[!wikipedia Church encoding]]
+
+
 *      [[!wikipedia Combinatory logic]]
 *      [Combinatory logic](http://plato.stanford.edu/entries/logic-combinatory/) at the Stanford Encyclopedia of Philosophy
 *      [[!wikipedia SKI combinatory calculus]]
 *      [[!wikipedia B,C,K,W system]]
-       <!-- Jeroen Fokker, The Systematic Construction of a One-combinator Basis for Lambda-Terms. Formal Aspects of Computing 4 (1992), pp. 776-780
-       http://people.cs.uu.nl/jeroen/article/combinat/combinat.ps -->
-*      [Chris Barker's Iota and Jot](http://semarch.linguistics.fas.nyu.edu/barker/Iota/)
+*      Jeroen Fokker, "The Systematic Construction of a One-combinator Basis for Lambda-Terms" <cite>Formal Aspects of Computing</cite> 4 (1992), pp. 776-780.
+       <http://people.cs.uu.nl/jeroen/article/combinat/combinat.ps>
+*      [Chris Barker's Iota and Jot](http://semarch.linguistics.fas.nyu.edu/barker/Iota/)<p>
+
+## Evaluation Order ##
+
+*      [[!wikipedia Evaluation strategy]]
+*      [[!wikipedia Eager evaluation]]
+*      [[!wikipedia Lazy evaluation]]
+*      [[!wikipedia Strict programming language]]
+
+## Confluence, Normalization, Undecidability ##
+
 *      [[!wikipedia Church-Rosser theorem]]
 *      [[!wikipedia Normalization property]]
 *      [[!wikipedia Turing completeness]]<p>
 *      [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
-*      [[!wikipedia Church encoding]]
-
-##[[Learning Scheme]]##
 
 
 ## Recursion and the Y Combinator ##
@@ -77,13 +92,6 @@ get more out of. (Rinse and repeat.)
 *      [The Y Combinator](http://www.ece.uc.edu/~franco/C511/html/Scheme/ycomb.html)
 *      [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...
 
-## Evaluation Order ##
-
-*      [[!wikipedia Evaluation strategy]]
-*      [[!wikipedia Eager evaluation]]
-*      [[!wikipedia Lazy evaluation]]
-*      [[!wikipedia Strict programming language]]
-
 
 ## Types ##