TY - GEN
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
Y1 - 2007
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=38849087271&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=38849087271&partnerID=8YFLogxK
U2 - 10.1145/1291151.1291178
DO - 10.1145/1291151.1291178
M3 - Conference contribution
AN - SCOPUS:38849087271
SN - 9781595938152
T3 - Proceedings of the ACM SIGPLAN International Conference on Functional Programming, ICFP
SP - 165
EP - 176
BT - ICFP'07
T2 - ICFP'07: 12th ACM SIGPLAN International Conference on Functional Programming
Y2 - 1 October 2007 through 3 October 2007
ER -