links tweaking
[lambda.git] / offsite_reading.mdwn
index 286e748..5d41570 100644 (file)
@@ -66,9 +66,7 @@ get more out of out. (Rinse and repeat.)
 
        +       [How to Design Programs](http://www.htdp.org/2003-09-26/), by Matthias Felleisen, et al., which the Racket groups recommends. Whenever the book says "Scheme," you can read it as "Racket."
 
 
        +       [How to Design Programs](http://www.htdp.org/2003-09-26/), by Matthias Felleisen, et al., which the Racket groups recommends. Whenever the book says "Scheme," you can read it as "Racket."
 
-       Another warmly-recommended introduction available online is:
-
-       +       [Teach Yourself Scheme in Fixnum Days](http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme.html)
+       Another warmly-recommended introduction available online is [Teach Yourself Scheme in Fixnum Days](http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme.html) This is a short introductory text that introduces common Scheme techniques.
 
 *      If you're already a programmer and you're in more of a hurry, you could instead look at the [Quick Introduction to Racket](http://docs.racket-lang.org/quick/index.html). This tutorial provides a brief introduction to the Racket programming language by using DrRacket and one of Racket's picture-drawing libraries.
 
 
 *      If you're already a programmer and you're in more of a hurry, you could instead look at the [Quick Introduction to Racket](http://docs.racket-lang.org/quick/index.html). This tutorial provides a brief introduction to the Racket programming language by using DrRacket and one of Racket's picture-drawing libraries.
 
@@ -84,20 +82,17 @@ different handy extensions. The first standard was published in 1975. A
 revision was published in 1978 called "The revised report on Scheme, a
 dialect of Lisp." Thereafter, revisions of the standard were titled "The
 Revised Revised Report..." and so on, or "The Revised^n Report..." for
 revision was published in 1978 called "The revised report on Scheme, a
 dialect of Lisp." Thereafter, revisions of the standard were titled "The
 Revised Revised Report..." and so on, or "The Revised^n Report..." for
-short, for increasing n. The most widely implemented standard is [The
-Revised^5 Report on Scheme](http://docs.racket-lang.org/r5rs/index.html),
+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.
 or R5RS, published in 1998.
-\[ [Alt link](http://www.schemers.org/Documents/Standards/R5RS/HTML/) \]
-A new standard [R6RS](http://docs.racket-lang.org/r6rs/index.html) was ratified
+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
 in 2007, but this has many detractors and has not been fully accepted in the
-community.
-\[ [Alt link](http://www.r6rs.org/final/html/r6rs/r6rs.html);
-[Libraries](http://www.r6rs.org/final/html/r6rs-lib/r6rs-lib.html) \]
+community. ([Libraries for R6RS](http://www.r6rs.org/final/html/r6rs-lib/r6rs-lib.html))
 
 
-*      [Scheme FAQ](http://community.schemewiki.org/?scheme-faq)
+ 
 
 
+*      [Scheme FAQ](http://community.schemewiki.org/?scheme-faq)
 *      [Scheme Requests for Implementation](http://srfi.schemers.org/) (SRFI)
 *      [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.
 
 
 *      The [Schematics Scheme Cookbook](http://schemecookbook.org/) is a collaborative effort to produce documentation and recipes for using Scheme for common tasks.
 
 
@@ -107,11 +102,11 @@ community.
 *      [[!wikipedia Y combinator]]
 *      [Chapter 9 from The Little Schemer](http://www.ccs.neu.edu/home/matthias/BTLS/sample.ps) on the Y Combinator "...and Again, and Again, and Again..."
 *      [The Y combinator](http://mvanier.livejournal.com/2700.html)
 *      [[!wikipedia Y combinator]]
 *      [Chapter 9 from The Little Schemer](http://www.ccs.neu.edu/home/matthias/BTLS/sample.ps) on the Y Combinator "...and Again, and Again, and Again..."
 *      [The Y combinator](http://mvanier.livejournal.com/2700.html)
+*      [The Why of Y](http://www.dreamsongs.com/NewFiles/WhyOfY.pdf)
 *      [The Y Combinator (Slight Return), or: How to Succeed at Recursion Without Really Recursing](http://mvanier.livejournal.com/2897.html)
 *      [Y Combinator for Dysfunctional Non-Schemers](http://rayfd.wordpress.com/2007/05/06/y-combinator-for-dysfunctional-non-schemers/)
 *      [The Y Combinator](http://www.ece.uc.edu/~franco/C511/html/Scheme/ycomb.html)
 *      [The Y Combinator (Slight Return), or: How to Succeed at Recursion Without Really Recursing](http://mvanier.livejournal.com/2897.html)
 *      [Y Combinator for Dysfunctional Non-Schemers](http://rayfd.wordpress.com/2007/05/06/y-combinator-for-dysfunctional-non-schemers/)
 *      [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), described as:
-       > This is the derivation of the applicative-order Y-combinator from scratch, in Scheme. The following derivation is similar in flavor to the derivation found in The Little LISPer by Friedman/Felleisen, but uses a slightly different starting approach...
+*      [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 ##
 
 
 ## Evaluation Order ##
 
@@ -132,19 +127,32 @@ community.
 *      [[!wikipedia Simply typed lambda calculus]]
 *      [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
 *      [[!wikipedia Simply typed lambda calculus]]
 *      [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]]<p>
+*      The [[!wikipedia Curry-Howard isomorphism]]
+*      [The Curry-Howard correspondence in Haskell](http://www.thenewsh.com/~newsham/formal/curryhoward/)<p>
 *      [[!wikipedia Type polymorphism]]
 *      [[!wikipedia System F]]
 
 ## Learning OCaml ##
 
 *      [[!wikipedia Type polymorphism]]
 *      [[!wikipedia System F]]
 
 ## Learning OCaml ##
 
-*      [[!wikipedia Objective Caml]]
+*      [[!wikipedia Objective Caml desc="Wikipedia overview of OCaml"]]
+
+*      [A Concise Introduction to Objective Caml](http://www.csc.villanova.edu/~dmatusze/resources/ocaml/ocaml.html)
+
+*      Here are [two](http://www.cs.jhu.edu/~scott/pl/lectures/caml-intro.html) [other](http://pauillac.inria.fr/caml/FAQ/stephan.html) brief overviews of OCaml, aimed at readers who already have some programming experience. Here are [two](http://pauillac.inria.fr/caml/FAQ/exemples-eng.html) [more](http://pauillac.inria.fr/caml/FAQ/qrg-eng.html), even briefer.
+
+*      Here's a [more detailed tutorial](http://www.ocaml-tutorial.org/) for OCaml.
+
+*      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).
+
 
 ## Side-effects / mutation ##
 
 *      [[!wikipedia Side effect (computer science) desc="Side effects"]]
 *      [[!wikipedia Reference (computer science) desc="References"]]
 *      [[!wikipedia Pointer (computing) desc="Pointers"]]
 
 ## Side-effects / mutation ##
 
 *      [[!wikipedia Side effect (computer science) desc="Side effects"]]
 *      [[!wikipedia Reference (computer science) desc="References"]]
 *      [[!wikipedia Pointer (computing) desc="Pointers"]]
+*      [Pointers in OCaml](http://caml.inria.fr/resources/doc/guides/pointers.html)
 
 ## Monads ##
 
 
 ## Monads ##
 
@@ -215,6 +223,22 @@ invited talk, *19'th Symposium on Principles of Programming Languages*, ACM Pres
 
        The first section is an extended example of the use of monads. A simple interpreter is modified to support various extra features: error messages, state, output, and non-deterministic choice. The second section describes the relation between monads and continuation-passing style. The third section sketches how monads are used in a compiler for Haskell that is written in Haskell.
 
 
        The first section is an extended example of the use of monads. A simple interpreter is modified to support various extra features: error messages, state, output, and non-deterministic choice. The second section describes the relation between monads and continuation-passing style. The third section sketches how monads are used in a compiler for Haskell that is written in Haskell.
 
+## Monads in Category Theory ##
+
+*      [Category Theory at SEP](http://plato.stanford.edu/entries/category-theory/)
+*      [[!wikipedia Category theory]]
+*      [[!wikipedia Category (mathematics) desc="Category"]]
+*      [[!wikipedia Morphism]]
+*      [[!wikipedia Functor]]
+*      [[!wikipedia Natural transformation]]
+*      [[!wikipedia Monad (category theory) desc="Monads in category theory"]]
+*      [Haskell/Category Theory](http://en.wikibooks.org/wiki/Haskell/Category_theory)
+*      [Category Theory & Functional Programming](http://blog.mestan.fr/2009/01/09/category-theory-functional-programming/)
+*      [Learning Haskell through Category Theory, and Adventuring in Category Land](http://dekudekuplex.wordpress.com/2009/01/16/learning-haskell-through-category-theory-and-adventuring-in-category-land-like-flatterland-only-about-categories/)
+*      [Resources for learning practical category theory](http://mathoverflow.net/questions/903/resources-for-learning-practical-category-theory)
+*      [A Partial Ordering of some Category Theory applied to Haskell](http://blog.sigfpe.com/2010/03/partial-ordering-of-some-category.html)
+
+
 ## Continuations ##
 
 *      [[!wikipedia Continuation]]
 ## Continuations ##
 
 *      [[!wikipedia Continuation]]
@@ -224,7 +248,51 @@ invited talk, *19'th Symposium on Principles of Programming Languages*, ACM Pres
 *      [[!wikipedia Delimited continuation]]
 *      [Delimited/composable continuations tutorial](composable-continuations-tutorial) at SchemeWiki
 
 *      [[!wikipedia Delimited continuation]]
 *      [Delimited/composable continuations tutorial](composable-continuations-tutorial) at SchemeWiki
 
+*      [Call With Current Continuation](http://www.c2.com/cgi/wiki?CallWithCurrentContinuation)
+
+*      [Continuations Made Simple and Illustrated](http://www.ps.uni-saarland.de/~duchier/python/continuations.html)
+
+*      [Continuation kata](http://programming-musings.org/2006/02/12/continuation-kata/)
+
+*      [Understanding continuations](http://keithdevens.com/weblog/archive/2004/Jul/11/continuations) [Commentary](http://lambda-the-ultimate.org/node/86)
+
+*      [[!wikipedia Continuation]]
+
+*      [Haskell wiki on Continuations](http://www.haskell.org/haskellwiki/Continuation)
+
+*      [Continuations In Scheme](http://tech.phillipwright.com/2010/05/23/continuations-in-scheme/)
+
+*      [Understanding Scheme Continuations](http://sanjaypande.blogspot.com/2004/06/understanding-scheme-continuations.html). This is tagged "Part I" but I think there's no further parts.
+
+*      [Continuations for Curmudgeons](http://www.intertwingly.net/blog/2005/04/13/Continuations-for-Curmudgeons) [Commentary](http://lambda-the-ultimate.org/node/643)
+
+*      [composable-continuations-tutorial](http://community.schemewiki.org/?composable-continuations-tutorial)
+
+*      [Post by Ken on Lambda the Ultimate explaining difference btw undelimited and delimited continuations](http://lambda-the-ultimate.org/node/1197#comment-12927)
+
+*      [shift, reset and streams](http://chneukirchen.org/blog/archive/2005/04/shift-reset-and-streams.html)
+
+*      [guile and delimited continuations](http://www.wingolog.org/archives/2010/02/26/guile-and-delimited-continuations)
+
+*      [Delimited continuations in Scala](http://blog.richdougherty.com/2009/02/delimited-continuations-in-scala_24.html)
+
+*      [Delimited Continuations Explained (in Scala)](http://dcsobral.blogspot.com/2009/07/delimited-continuations-explained-in.html)
+
+*      [Partial Continuations](http://www.bluishcoder.co.nz/articles/scheme/partial-continuations.html)
+
+*      [Online Bibliography of Scheme Research: Continuations and Continuation Passing Style](http://library.readscheme.org/page6.html)
+
+*      Delimited Continuations in MzScheme:
+[Part 1](http://schemekeys.blogspot.com/2006/11/prompts-their-interaction-with-dynamic.html)
+[Part 2](http://schemekeys.blogspot.com/2006/12/delimited-continuations-in-mzscheme.html)
+[Part 3](http://schemekeys.blogspot.com/2007/01/going-further-with-primitives.html)
+[Part 4](http://schemekeys.blogspot.com/2007/01/odd-and-ends.html)
+
+*      [Delimited continuations in natural language semantics](http://okmij.org/ftp/gengo/)
+
+
 ## Linear Logic ##
 
 *      [[!wikipedia Linear logic]]
 
 ## Linear Logic ##
 
 *      [[!wikipedia Linear logic]]
 
+