ACM Home Page
Please provide us with feedback. Feedback
Adding delimited and composable control to a production programming environment
Full text PdfPdf (272 KB)
Source
International Conference on Functional Programming archive
Proceedings of the 12th ACM SIGPLAN international conference on Functional programming table of contents
Freiburg, Germany
SESSION: Continuations table of contents
Pages: 165 - 176  
Year of Publication: 2007
ISBN:978-1-59593-815-2
Also published in ...
Authors
Matthew Flatt  University of Utah, Salt Lake City, UT
Gang Yu  Chinese Academy of Sciences, Beijing, China
Robert Bruce Findler  University of Chicago, Chicago, IL
Matthias Felleisen  Northeastern University, Boston, MA
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 10,   Downloads (12 Months): 49,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1291151.1291178
What is a DOI?

ABSTRACT

Operators for delimiting control and for capturing composable continuations litter the landscape of theoretical programming language research. Numerous papers explain their advantages, how the operators explain each other (or don't), and other aspects of the operators' existence. Production programming languages, however, do not support these operators, partly because their relationship to existing and demonstrably useful constructs - such as exceptions and dynamic binding - remains relatively unexplored.

In this paper, we report on our effort of translating the theory of delimited and composable control into a viable implementation for a production system. The report shows how this effort involved a substantial design element, including work with a formal model, as well as significant practical exploration and engineering.

The resulting version of PLT Scheme incorporates the expressive combination of delimited and composable control alongside dynamic-wind, dynamic binding, and exception handling. None of the additional operators subvert the intended benefits of existing control operators, so that programmers can freely mix and match control operators.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
2
 
3
4
 
5
R. Kent Dybvig, Simon Peyton Jones, and Amr Sabry. A monadic framework for delimited continuations. Journal of Functional Programming, 2006. To appear.
6
 
7
8
 
9
 
10
Matthew Flatt. PLT MzScheme: Language manual. Technical Report PLT-TR2007-1-v370, PLT Scheme, 2007.
11
12
 
13
Martin Gasbichler, Eric Knauel, Michael Sperber, and Richard A. Kelsey. How to add threads to a sequential language without getting tangled up. In Proc. Workshop on Scheme and Functional Programming, 2003.
14
 
15
David Herman, Aaron Tomb, and Cormac Flanagan. Space-efficient gradual typing. In Proc. Trends in Functional Programming, 2007.
16
 
17
18
 
19
Richard A. Kelsey and Jonathan Rees. Scheme48, 2007. http://s48.org/
 
20
Oleg Kiselyov. How to remove a dynamic prompt: static and dynamic delimited continuation operators are equally expressible. Technical Report TR611, Indiana University Computer Science, 2005a.
 
21
Oleg Kiselyov. Generic implementation of all four *F* operators: from control0 to shift, 2005. http://okmij.org/ftp/Computation/Continuations.html#generic-control.
22
 
23
 
24
 
25
Jacob Matthews, Robert Bruce Findler, Matthew Flatt, and Matthias Felleisen. A visual environment for developing context-sensitive term rewriting systems. In Proc. International Conference on Rewriting Techniques and Applications, volume 3091 of Lecture Notes in Computer Science, 2004.
26
 
27
 
28
Chung-chieh Shan. Shift to control. In Proc. Workshop on Scheme and Functional Programming, pages 99--107, 2004.
29
 
30
 
31
Michael Sperber (Ed.). The revised5.97 report on the algorithmic language Scheme, 2007.
 
32

Collaborative Colleagues:
Matthew Flatt: colleagues
Gang Yu: colleagues
Robert Bruce Findler: colleagues
Matthias Felleisen: colleagues