The fundamental concept of continuations
marlenemiller at worldnet.att.net
Wed Oct 10 06:39:32 CEST 2007
> Can anyone explain:
> (1) its origin
>From the Bibliographic Notes of Chapter 12 Continuations in a Functional
Language, Theories of Programming Languages by John C. Reynolds, page 370:
"A history of the repeated discoveries of continuations (occurring largely
in the context of functional languages) is given in Reynolds ;
relevant original papers include those by van Wijngaarden , F. L.
Morris , Strachey and Wadsworth , J. H. Morris , Fischer
[1972; 1993], and Abdali . The operations callcc and throw first
appeared in Scheme, but are descendents of Landin's [1965b] "J-operator".
Both the continuation-passing transformation from direct to continuation
semantics and defunctionalization were described, in the setting of programs
for interpreting eager-evaluation functional languages, by Reynolds
"Beginning with the implementation of Scheme [Sussman and Steele Jr., 1975]
continuations and the continuation-passing transformation have played a
major role in the design of compilers. More recently, this topic has been
explored at book length by Appel ."
Reynolds  The Discoveries of Continuations.
van Wijngaarden  Recursive Definition of Syntax and Semantics
F. L. Morris  The Next 700 Formal Language Descriptions
Strachey and Wadsworth  Continuations, A Mathematical Semantics for
Handling Full Jumps.
J. H. Morris  A Bonus from van Wijngarden's Device
Fischer [1972, 1993] Lambda Calculus Schemata
Abdali  A Lambda Calculus Model of Programming Languages - I. Simple
Constructs, II. Jumps and Procedures
Sussman and Steele Jr.  SCHEME: An Interpreter for Extended Lambda
Compiling With Continuations, Andrew W. Appel, 2007
- - - - - - - - - -
> (2) its syntax and semantics in emacs lisp, common lisp, scheme
The Scheme Programming Language, R. Kent Dybvig
Scheme and the Art of Programming, Springer and Friedman
Chapter 16 Introduction to Continuations
Chapter 17 Using Continuations
- - - - - - - - - - - - -
> (6) any good readable references that explain it lucidly ?
1. Programming Languages: Application and Interpretation, Shriram
Part VII Continuations
2. Essentials of Programming Languages, Friedman, Wand and Haynes
Chapter 7 Continuation-Passing Interpreters
Chapter 8 Continuation-Passing Style
3. Theories of Programming Languages, John C. Reynolds
5.7 Continuation Semantics [of imperative languages]
Chapter 12 Continuations in a Functional Language
>From the Bibliographic Notes of Chapter 5 Failure, Input-Output and
Continuations, Theories of Programming Languages, John C. Reynolds
"Most of the literature on continuations discusses the concept in the
setting of functional languages (where we will return to continuations in
Section 12.1). However, the properties of continuation semantics for
imperative languages are described, perhaps to excess, by Reynolds ."
Reynolds  Semantics of the Domain of Flow Diagrams
More information about the Python-list