X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=offsite_reading.mdwn;h=f40a1404d638ead655d38ae10c0c0103f3cdc359;hp=4fb2eca381dd79bb22ca2c932b48108053808a90;hb=8282c8b2371daf08e74994383ca4c3ef6b0e4885;hpb=e6a2ebdabf3013f0f4bbea873a5c083b628bb289 diff --git a/offsite_reading.mdwn b/offsite_reading.mdwn index 4fb2eca3..f40a1404 100644 --- a/offsite_reading.mdwn +++ b/offsite_reading.mdwn @@ -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." - 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. @@ -107,11 +105,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) +* [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](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 ## @@ -139,7 +137,16 @@ community. ## 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) bried overviews of OCaml, aimed at readers who already have some programming experience. + +* 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). + ## Side-effects / mutation ## @@ -241,6 +248,48 @@ invited talk, *19'th Symposium on Principles of Programming Languages*, ACM Pres * [[!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) + +* http://en.wikipedia.org/wiki/Continuation + +* 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 ##