towards monads: use u,v for monadic terms
[lambda.git] / offsite_reading.mdwn
index fcb0e4c..34a2eff 100644 (file)
@@ -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
 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,24 +12,12 @@ 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
 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 ##
-
-*      [[!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 Higher-order function]]
 *      [[!wikipedia First-class function]]
-*      [[!wikipedia Closure (computer science) desc="Closures"]]
 *      [[!wikipedia Currying]]
 
 ## Functional vs imperative programming ##
 *      [[!wikipedia Currying]]
 
 ## Functional vs imperative programming ##
@@ -40,60 +28,53 @@ get more out of out. (Rinse and repeat.)
 *      [[!wikipedia Referential transparency (computer science)]]
 *      [[!wikipedia Imperative programming]]
 
 *      [[!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]]##
+
 ## Untyped lambda calculus and combinatory logic ##
 
 *      [[!wikipedia Lambda calculus]]
 ## 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>
-*      [[!wikipedia Haskell Curry]]
+<!-- 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 Moses Schönfinkel]]
+*      [[!wikipedia Haskell Curry]]
 *      [[!wikipedia Alonzo Church]]<p>
 *      [[!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 Combinatory logic]]
 *      [Combinatory logic](http://plato.stanford.edu/entries/logic-combinatory/) at the Stanford Encyclopedia of Philosophy
-*      [[!wikipedia SKI combinatory calculus]]<p>
+*      [[!wikipedia SKI combinatory calculus]]
 *      [[!wikipedia B,C,K,W system]]
 *      [[!wikipedia B,C,K,W system]]
-*      [[!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 ##
-
-*      [[!wikipedia Scheme (programming language) desc="Wikipedia overview of Scheme"]]
-
-*      If you are new to programming or if you have the patience to work through a textbook, you should work through a textbook. Some good choices are The Little Schemer book(s) we recommended for the seminar; and also:
-
-       +       [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) 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.
+*      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>
 
 
-*      [An Introduction to Lambda Calculus and Scheme](http://www.jetcafe.org/~jim/lambda.html) is also aimed at programmers.
+*      [To Dissect a Mockingbird](http://dkeenan.com/Lambda/index.htm)
+*      [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.
 
 
-*      After any of the preceding, you could move on to [Racket Guide](http://docs.racket-lang.org/guide/index.html). This starts with a tutorial on Racket basics; then it describes the rest of the Racket language. This guide is intended for programmers who are new to Racket or new to some part of Racket. It assumes programming experience, so if you are new to programming, you should instead start with one of the textbooks listed above. This Guide describes parts of the Racket language which go beyond the learning-oriented fragments of How to Design Programs.
-
-*      The [Complete Racket Reference Manual](http://docs.racket-lang.org/reference/index.html) defines the core Racket language and describes its most prominent libraries. The Racket Guide is friendlier; though less precise and less complete.
-
-*      The Scheme language is standardized; the various implementations of the
-language usually adhere to what's published in the current standard and add on
-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
-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))
+## Evaluation Order ##
 
 
-*      [Scheme FAQ](http://community.schemewiki.org/?scheme-faq)
+*      [[!wikipedia Evaluation strategy]]
+*      [[!wikipedia Eager evaluation]]
+*      [[!wikipedia Lazy evaluation]]
+*      [[!wikipedia Strict programming language]]
 
 
-*      [Scheme Requests for Implementation](http://srfi.schemers.org/) (SRFI)
+## Confluence, Normalization, Undecidability ##
 
 
-*      The [Schematics Scheme Cookbook](http://schemecookbook.org/) is a collaborative effort to produce documentation and recipes for using Scheme for common tasks.
+*      [[!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
 
 
 ## Recursion and the Y Combinator ##
 
 
 ## Recursion and the Y Combinator ##
@@ -107,19 +88,14 @@ community. ([Libraries for R6RS](http://www.r6rs.org/final/html/r6rs-lib/r6rs-li
 *      [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) 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...
 *      [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) 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]]
+*   [The church of the least fixed point, by Sans Pareil](http://www.springerlink.com/content/n4t2v573m58g2755/)
 
 
 ## Types ##
 
 *      [[!wikipedia Tagged union]]
 *      [[!wikipedia Algebraic data type]]
 
 
 ## Types ##
 
 *      [[!wikipedia Tagged union]]
 *      [[!wikipedia Algebraic data type]]
+*      [[!wikipedia Recursive data type]]
 *      [[!wikipedia Pattern matching]]
 *      [[!wikipedia Unit type]]
 *      [[!wikipedia Bottom type]]
 *      [[!wikipedia Pattern matching]]
 *      [[!wikipedia Unit type]]
 *      [[!wikipedia Bottom type]]
@@ -127,22 +103,11 @@ community. ([Libraries for R6RS](http://www.r6rs.org/final/html/r6rs-lib/r6rs-li
 *      [[!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]]
-*      [The Curry-Howard correspondence in Haskell](http://www.thenewsh.com/~newsham/formal/curryhoward/)<p>
 *      [[!wikipedia Type polymorphism]]
 *      [[!wikipedia System F]]
 
 *      [[!wikipedia Type polymorphism]]
 *      [[!wikipedia System F]]
 
-## Learning OCaml ##
-
-*      [[!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).
+##[[Learning OCaml]]##
 
 
 ## Side-effects / mutation ##
 
 
 ## Side-effects / mutation ##
@@ -150,76 +115,40 @@ community. ([Libraries for R6RS](http://www.r6rs.org/final/html/r6rs-lib/r6rs-li
 *      [[!wikipedia Side effect (computer science) desc="Side effects"]]
 *      [[!wikipedia Reference (computer science) desc="References"]]
 *      [[!wikipedia Pointer (computing) desc="Pointers"]]
 *      [[!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 ##
 
 *      [[!wikipedia Monad (functional programming) desc="Monads in Functional Programming"]]
 
 ## Monads ##
 
 *      [[!wikipedia Monad (functional programming) desc="Monads in Functional Programming"]]
-
 *      [A Gentle Intro to Haskell: About Monads](http://www.haskell.org/tutorial/monads.html)
 *      [A Gentle Intro to Haskell: About Monads](http://www.haskell.org/tutorial/monads.html)
-
 *      [Understanding Haskell Monads](http://ertes.de/articles/monads.html)
 *      [Understanding Haskell Monads](http://ertes.de/articles/monads.html)
-
 *      [The State Monad: a tutorial for the confused?](http://coder.bsimmons.name/blog/2009/10/the-state-monad-a-tutorial-for-the-confused/)
 *      [The State Monad: a tutorial for the confused?](http://coder.bsimmons.name/blog/2009/10/the-state-monad-a-tutorial-for-the-confused/)
-
 *      [Beyond Monads](http://blog.sigfpe.com/2009/02/beyond-monads.html)
 *      [Beyond Monads](http://blog.sigfpe.com/2009/02/beyond-monads.html)
-
 *      [Simple Explanation of a Monad](http://math.stackexchange.com/questions/405/simple-explanation-of-a-monad)
 *      [Simple Explanation of a Monad](http://math.stackexchange.com/questions/405/simple-explanation-of-a-monad)
-
 *      [What is a Monad?](http://stackoverflow.com/questions/44965/what-is-a-monad)
 *      [What is a Monad?](http://stackoverflow.com/questions/44965/what-is-a-monad)
-
 *      [Can Anyone Explain Monads?](http://stackoverflow.com/questions/2366/can-anyone-explain-monads)
 *      [Can Anyone Explain Monads?](http://stackoverflow.com/questions/2366/can-anyone-explain-monads)
-
 *      [Monad in Plain English...](http://stackoverflow.com/questions/2704652/monad-in-plain-english-for-the-oop-programmer-with-no-fp-background)
 *      [Monad in Plain English...](http://stackoverflow.com/questions/2704652/monad-in-plain-english-for-the-oop-programmer-with-no-fp-background)
-
 *      [Monad in non-programming terms](http://stackoverflow.com/questions/3261729/monad-in-non-programming-terms)
 *      [Monad in non-programming terms](http://stackoverflow.com/questions/3261729/monad-in-non-programming-terms)
-
 *      [Real World Haskell: chapter on Monads](http://book.realworldhaskell.org/read/monads.html)
 *      [Real World Haskell: chapter on Monads](http://book.realworldhaskell.org/read/monads.html)
-
 *      [Learn You a Haskell for Great Good: chapter on Functors, Applicative Functors and Monoids](http://www.learnyouahaskell.com/functors-applicative-functors-and-monoids)
 *      [Learn You a Haskell for Great Good: chapter on Functors, Applicative Functors and Monoids](http://www.learnyouahaskell.com/functors-applicative-functors-and-monoids)
-
 *      Monads are Elephants:
 [Part 1](http://james-iry.blogspot.com/2007/09/monads-are-elephants-part-1.html)
 [Part 2](http://james-iry.blogspot.com/2007/10/monads-are-elephants-part-2.html)
 [Part 3](http://james-iry.blogspot.com/2007/10/monads-are-elephants-part-3.html)
 [Part 4](http://james-iry.blogspot.com/2007/11/monads-are-elephants-part-4.html)
 *      Monads are Elephants:
 [Part 1](http://james-iry.blogspot.com/2007/09/monads-are-elephants-part-1.html)
 [Part 2](http://james-iry.blogspot.com/2007/10/monads-are-elephants-part-2.html)
 [Part 3](http://james-iry.blogspot.com/2007/10/monads-are-elephants-part-3.html)
 [Part 4](http://james-iry.blogspot.com/2007/11/monads-are-elephants-part-4.html)
-
 *      [Brian Beckman: Don't fear the Monad (67 minute video)](http://channel9.msdn.com/shows/Going+Deep/Brian-Beckman-Dont-fear-the-Monads/)
 *      [Brian Beckman: Don't fear the Monad (67 minute video)](http://channel9.msdn.com/shows/Going+Deep/Brian-Beckman-Dont-fear-the-Monads/)
-
 *      [A monad non-tutorial...or why you shouldn't ask what a monad is](http://strongtyped.blogspot.com/2010/01/monad-non-tutorial.html)
 *      [A monad non-tutorial...or why you shouldn't ask what a monad is](http://strongtyped.blogspot.com/2010/01/monad-non-tutorial.html)
-
 *      [The Mother of all Monads](http://blog.sigfpe.com/2008/12/mother-of-all-monads.html)
 *      [The Mother of all Monads](http://blog.sigfpe.com/2008/12/mother-of-all-monads.html)
-
 *      [You Could Have Invented Monads! (And Maybe You Already Have.)](http://blog.sigfpe.com/2006/08/you-could-have-invented-monads-and.html)
 *      [You Could Have Invented Monads! (And Maybe You Already Have.)](http://blog.sigfpe.com/2006/08/you-could-have-invented-monads-and.html)
-
 *      [Monads! (and Why Monad Tutorials Are All Awful)](http://ahamsandwich.wordpress.com/2007/07/26/monads-and-why-monad-tutorials-are-all-awful/)
 *      [Monads! (and Why Monad Tutorials Are All Awful)](http://ahamsandwich.wordpress.com/2007/07/26/monads-and-why-monad-tutorials-are-all-awful/)
-
 *      [Of monads and spacesuits (archived)](http://www.iterasi.net/openviewer.aspx?sqrlitid=ixx7fcluvek_9lfolsxr_g)
 *      [Of monads and spacesuits (archived)](http://www.iterasi.net/openviewer.aspx?sqrlitid=ixx7fcluvek_9lfolsxr_g)
-
 *      [Haskell wikibook: Understanding monads](http://en.wikibooks.org/wiki/Haskell/Understanding_monads)
 *      [Haskell wikibook: Understanding monads](http://en.wikibooks.org/wiki/Haskell/Understanding_monads)
-
 *      Haskell state monads: [part 1](http://mvanier.livejournal.com/1765.html) [part 2](http://mvanier.livejournal.com/1901.html)
 *      Haskell state monads: [part 1](http://mvanier.livejournal.com/1765.html) [part 2](http://mvanier.livejournal.com/1901.html)
-
 *      [How not to explain Haskell monads](http://mvanier.livejournal.com/1205.html)
 *      [How not to explain Haskell monads](http://mvanier.livejournal.com/1205.html)
-
 *      Yet Another Monad Tutorial: [part 1](http://mvanier.livejournal.com/3917.html) [part 2](http://mvanier.livejournal.com/4305.html)
        [part 3](http://mvanier.livejournal.com/4586.html) [part 4](http://mvanier.livejournal.com/4647.html)
 *      Yet Another Monad Tutorial: [part 1](http://mvanier.livejournal.com/3917.html) [part 2](http://mvanier.livejournal.com/4305.html)
        [part 3](http://mvanier.livejournal.com/4586.html) [part 4](http://mvanier.livejournal.com/4647.html)
-
 *      [Research Papers/Monads and Arrows](http://www.haskell.org/haskellwiki/Research_papers/Monads_and_arrows)
 
 *      [Research Papers/Monads and Arrows](http://www.haskell.org/haskellwiki/Research_papers/Monads_and_arrows)
 
-*      [Philip Wadler. Monads for Functional Programming](http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf):
-in M. Broy, editor, *Marktoberdorf Summer School on Program Design Calculi*, Springer Verlag, NATO ASI Series F: Computer and systems sciences, Volume 118, August 1992. Also in J. Jeuring and E. Meijer, editors, *Advanced Functional Programming*, Springer Verlag, LNCS 925, 1995. Some errata fixed August 2001.
-
-       The use of monads to structure functional programs is described. Monads provide a convenient framework for simulating effects found in other languages, such as global state, exception handling, output, or non-determinism. Three case studies are looked at in detail: how monads ease the modification of a simple evaluator; how monads act as the basis of a datatype of arrays subject to in-place update; and how monads can be used to build parsers.
-
-*      [Philip Wadler. The essence of functional programming](http://homepages.inf.ed.ac.uk/wadler/papers/essence/essence.ps):
-invited talk, *19'th Symposium on Principles of Programming Languages*, ACM Press, Albuquerque, January 1992.
-
-       This paper explores the use monads to structure functional programs. No prior knowledge of monads or category theory is required.
-
-       Monads increase the ease with which programs may be modified. They can mimic the effect of impure features such as exceptions, state, and continuations; and also provide effects not easily achieved with such features. The types of a program reflect which effects occur.
-
-       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/)
 ## Monads in Category Theory ##
 
 *      [Category Theory at SEP](http://plato.stanford.edu/entries/category-theory/)
@@ -236,55 +165,40 @@ invited talk, *19'th Symposium on Principles of Programming Languages*, ACM Pres
 *      [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)
 
 
+## The Curry-Howard Correspondence ##
+*      The [[!wikipedia Curry-Howard isomorphism]]
+*      [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<p>
+
+
 ## Continuations ##
 
 *      [[!wikipedia Continuation]]
 *      [[!wikipedia Continuation-passing style]]
 *      [[!wikipedia Call-with-current-continuation]]
 *      [Intro to call/cc](http://community.schemewiki.org/?call-with-current-continuation) at SchemeWiki
 ## Continuations ##
 
 *      [[!wikipedia Continuation]]
 *      [[!wikipedia Continuation-passing style]]
 *      [[!wikipedia Call-with-current-continuation]]
 *      [Intro to call/cc](http://community.schemewiki.org/?call-with-current-continuation) 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)
 *      [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)
 *      [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/)
 *      [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)
 *      [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/)
 *      [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.
 *      [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)
 *      [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)
-
+*      [Haskell wiki on Continuations](http://www.haskell.org/haskellwiki/Continuation)<p>
+*      [[!wikipedia Delimited continuation]]
+*      [Composable Continuations Tutorial](http://community.schemewiki.org/?composable-continuations-tutorial) at SchemeWiki
+*      [Post by Ken](http://lambda-the-ultimate.org/node/1197#comment-12927) on Lambda the Ultimate explaining difference between undelimited and delimited continuations
 *      [shift, reset and streams](http://chneukirchen.org/blog/archive/2005/04/shift-reset-and-streams.html)
 *      [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)
 *      [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 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)
 *      [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)
 *      [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)
 *      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)
-
+[Part 4](http://schemekeys.blogspot.com/2007/01/odd-and-ends.html)<p>
+*      [Online Bibliography of Scheme Research: Continuations and Continuation Passing Style](http://library.readscheme.org/page6.html)
 *      [Delimited continuations in natural language semantics](http://okmij.org/ftp/gengo/)
 
 
 *      [Delimited continuations in natural language semantics](http://okmij.org/ftp/gengo/)