X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=offsite_reading.mdwn;h=4339092022925ab61b2870336a4e7bd19ede5c79;hp=d812fff70f9d1245a5d01590ce26375a1b820d30;hb=00ca9d64a3e95f9163545be1e0ae7845298a10c2;hpb=1e4e668fcd36b96953619d3e1edbdc4fe10e6d91 diff --git a/offsite_reading.mdwn b/offsite_reading.mdwn index d812fff7..43390920 100644 --- a/offsite_reading.mdwn +++ b/offsite_reading.mdwn @@ -1,4 +1,4 @@ -Many off these links are to Wikipedia. You can learn a lot from such articles, +Many of these links are to Wikipedia. You can learn a lot from such articles, so long as you remember they may sometimes mislead or make mistakes. However, I hope at this point in your education you'll have learned to be a guarded reader even of authoritative treatises by eminent authors. So you shouldn't need any @@ -12,7 +12,7 @@ first encountering. Or perhaps several of these at once. We hope you will already have mastered the skill of leveraged reading: getting what you can out of an article you don't fully understand, so that you can discuss it with the rest of the group and hopefully get to a point where you can read it again and -get more out of out. (Rinse and repeat.) +get more out of. (Rinse and repeat.) ## General issues about variables and binding in programming languages ## @@ -45,13 +45,17 @@ get more out of out. (Rinse and repeat.) * [[!wikipedia Lambda calculus]] * [Chris Barker's Lambda Tutorial](http://homepages.nyu.edu/~cb125/Lambda) * [Lambda Animator](http://thyer.name/lambda-animator/)

-* [[!wikipedia Haskell Curry]] + * [[!wikipedia Moses Schönfinkel]] +* [[!wikipedia Haskell Curry]] * [[!wikipedia Alonzo Church]]

* [[!wikipedia Combinatory logic]] * [Combinatory logic](http://plato.stanford.edu/entries/logic-combinatory/) at the Stanford Encyclopedia of Philosophy -* [[!wikipedia SKI combinatory calculus]]

+* [[!wikipedia SKI combinatory calculus]] * [[!wikipedia B,C,K,W system]] + +* [Chris Barker's Iota and Jot](http://semarch.linguistics.fas.nyu.edu/barker/Iota/) * [[!wikipedia Church-Rosser theorem]] * [[!wikipedia Normalization property]] * [[!wikipedia Turing completeness]]

@@ -85,9 +89,13 @@ Revised Revised Report..." and so on, or "The Revised^n Report..." for short. One widely implemented standard is [The Revised^5 Report on Scheme](http://www.schemers.org/Documents/Standards/R5RS/HTML/), or R5RS, published in 1998. -A new standard [R6RS](http://www.r6rs.org/final/html/r6rs/r6rs.html) was ratified -in 2007, but this has many detractors and has not been fully accepted in the -community. ([Libraries for R6RS](http://www.r6rs.org/final/html/r6rs-lib/r6rs-lib.html)) +A new standard [R6RS](http://www.r6rs.org/final/html/r6rs/r6rs.html) ([Libraries for R6RS](http://www.r6rs.org/final/html/r6rs-lib/r6rs-lib.html)) +was ratified in 2007, and this is implemented in Racket; but it also has many detractors and has not been fully +accepted in the community. As a result, the Scheme language [may in the future split](http://scheme-reports.org/2009/position-statement.html) +into a lean, minimal base, closer to +R5RS Scheme, and a richer language like R6RS Scheme that standardizes many of the add-ons that programmers tend to build +on top of the base. + * [Scheme FAQ](http://community.schemewiki.org/?scheme-faq) * [Scheme Requests for Implementation](http://srfi.schemers.org/) (SRFI) * The [Schematics Scheme Cookbook](http://schemecookbook.org/) is a collaborative effort to produce documentation and recipes for using Scheme for common tasks. @@ -117,6 +125,7 @@ community. ([Libraries for R6RS](http://www.r6rs.org/final/html/r6rs-lib/r6rs-li * [[!wikipedia Tagged union]] * [[!wikipedia Algebraic data type]] +* [[!wikipedia Recursive data type]] * [[!wikipedia Pattern matching]] * [[!wikipedia Unit type]] * [[!wikipedia Bottom type]] @@ -125,7 +134,8 @@ community. ([Libraries for R6RS](http://www.r6rs.org/final/html/r6rs-lib/r6rs-li * [Type Theory](http://plato.stanford.edu/entries/type-theory/) at the Stanford Encyclopedia of Philosophy * [Church's Type Theory](http://plato.stanford.edu/entries/type-theory-church/) at the Stanford Encyclopedia of Philosophy * The [[!wikipedia Curry-Howard isomorphism]] -* [The Curry-Howard correspondence in Haskell](http://www.thenewsh.com/~newsham/formal/curryhoward/)

+* [The Curry-Howard correspondence in Haskell](http://www.thenewsh.com/~newsham/formal/curryhoward/) +* [The Curry-Howard Isomorphism](http://en.wikibooks.org/wiki/Haskell/The_Curry-Howard_isomorphism) at Haskell wiki

* [[!wikipedia Type polymorphism]] * [[!wikipedia System F]] @@ -139,6 +149,8 @@ community. ([Libraries for R6RS](http://www.r6rs.org/final/html/r6rs-lib/r6rs-li * Here's a [more detailed tutorial](http://www.ocaml-tutorial.org/) for OCaml. +* The start of the [OCaml Reference Manual](http://caml.inria.fr/pub/docs/manual-ocaml/manual003.html) has another tutorial. + * Jason Hickey has posted a [draft of a nice book introducing OCaml](http://www.cs.caltech.edu/courses/cs134/cs134b/book.pdf). * FAQs for [OCaml Beginners](http://pauillac.inria.fr/caml/FAQ/FAQ_DEBUTANT-eng.html), and [a few more](http://caml.inria.fr/resources/doc/faq/). Also FAQs for [OCaml Experts](http://pauillac.inria.fr/caml/FAQ/FAQ_EXPERT-eng.html).