From HaskellWiki
Revision as of 14:52, 24 May 2006 by EndreyMark (talk | contribs) ((1) Imperative metaphors: split off from Functional metaphors: (2) Adding Daume III's ``what to do next'' metaphor.)

Jump to: navigation, search

General or introductory materials

Powerful metaphors, images

Here is a collection of short descriptions, analogies or metaphors, that illustrate this difficult concept, or an aspect of it.

Imperative metaphors

  • “In computing, a continuation is a representation of the execution state of a program (for example, the call stack) at a certain point in time” (Wikipedia's Continuation).
  • “At its heart, call/cc is something like the goto instruction (or rather, like a label for a goto instruction); but a Grand High Exalted goto instruction... The point about call/cc is that it is not a static (lexical) goto instruction but a dynamic one“ (David Madore's A page about call/cc)

Functional metaphors

  • “Continuations represent the future of a computation, as a function from an intermediate result to the final result“ (Continuation monad section in Jeff Newbern's All About Monads)
  • “The idea behind CPS is to pass around as a function argument what to do next“ (Yet Another Haskell Tutorial written by Hal Daume III, 4.6 Continuation Passing Style, pp 53-56))


Continuation monad