From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Marlene Miller" Newsgroups: gmane.emacs.help Subject: Re: The fundamental concept of continuations Date: Wed, 10 Oct 2007 04:39:32 GMT Organization: AT&T Worldnet Message-ID: <8IYOi.658994$p47.379449__33778.4897107214$1192017527$gmane$org@bgtnsc04-news.ops.worldnet.att.net> References: <1191906949.179197.217470@57g2000hsv.googlegroups.com> NNTP-Posting-Host: lo.gmane.org X-Trace: sea.gmane.org 1192017522 26456 80.91.229.12 (10 Oct 2007 11:58:42 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 10 Oct 2007 11:58:42 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Oct 10 13:58:39 2007 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1IfaCv-0005r1-Pw for geh-help-gnu-emacs@m.gmane.org; Wed, 10 Oct 2007 13:58:34 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IfaCp-0003Kj-U8 for geh-help-gnu-emacs@m.gmane.org; Wed, 10 Oct 2007 07:58:27 -0400 Original-Path: shelby.stanford.edu!headwall.stanford.edu!newsfeed.news2me.com!news-in-01.newsfeed.easynews.com!easynews.com!easynews!wn13feed!worldnet.att.net!bgtnsc04-news.ops.worldnet.att.net.POSTED!53ab2750!not-for-mail Original-Newsgroups: comp.lang.scheme, comp.lang.lisp, comp.lang.functional, gnu.emacs.help, comp.lang.python Original-Lines: 77 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1807 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1896 Original-NNTP-Posting-Host: 12.72.243.182 Original-X-Complaints-To: abuse@worldnet.att.net Original-X-Trace: bgtnsc04-news.ops.worldnet.att.net 1191991172 12.72.243.182 (Wed, 10 Oct 2007 04:39:32 GMT) Original-NNTP-Posting-Date: Wed, 10 Oct 2007 04:39:32 GMT Original-Xref: shelby.stanford.edu comp.lang.scheme:74422 comp.lang.lisp:230860 comp.lang.functional:62616 gnu.emacs.help:152783 comp.lang.python:515641 X-Mailman-Approved-At: Wed, 10 Oct 2007 07:53:28 -0400 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:48300 Archived-At: > 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 [1993]; relevant original papers include those by van Wijngaarden [1996], F. L. Morris [1993], Strachey and Wadsworth [1974], J. H. Morris [1972], Fischer [1972; 1993], and Abdali [1976]. 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 [1972a]." "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 [1992]." Reynolds [1993] The Discoveries of Continuations. van Wijngaarden [1996] Recursive Definition of Syntax and Semantics F. L. Morris [1993] The Next 700 Formal Language Descriptions Strachey and Wadsworth [1974] Continuations, A Mathematical Semantics for Handling Full Jumps. J. H. Morris [1972] A Bonus from van Wijngarden's Device Fischer [1972, 1993] Lambda Calculus Schemata Abdali [1976] A Lambda Calculus Model of Programming Languages - I. Simple Constructs, II. Jumps and Procedures Sussman and Steele Jr. [1975] SCHEME: An Interpreter for Extended Lambda Calculus 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 3.3 Continuations 5.5 Continuations http://www.scheme.com/tspl3/ 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 Krishnamurthi Part VII Continuations http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/2007-04-26/plai-2007-04-26.pdf 2. Essentials of Programming Languages, Friedman, Wand and Haynes Chapter 7 Continuation-Passing Interpreters Chapter 8 Continuation-Passing Style http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/2007-04-26/plai-2007-04-26.pdf 3. Theories of Programming Languages, John C. Reynolds 5.7 Continuation Semantics [of imperative languages] Chapter 12 Continuations in a Functional Language http://www.cs.indiana.edu/eopl/ >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 [1977]." Reynolds [1977] Semantics of the Domain of Flow Diagrams