TY - JOUR
T1 - Adding delimited and composable control to a production programming environment
AU - Flatt, Matthew
AU - Yu, Gang
AU - Findler, Robert Bruce
AU - Felleisen, Matthias
PY - 2007/9
Y1 - 2007/9
N2 - 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.
AB - 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.
KW - Design
KW - Languages
UR - http://www.scopus.com/inward/record.url?scp=67650088524&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=67650088524&partnerID=8YFLogxK
U2 - 10.1145/1291220.1291178
DO - 10.1145/1291220.1291178
M3 - Article
AN - SCOPUS:67650088524
SN - 1523-2867
VL - 42
SP - 165
EP - 176
JO - ACM SIGPLAN Notices
JF - ACM SIGPLAN Notices
IS - 9
ER -