Adding delimited and composable control to a production programming environment

Matthew Flatt*, Gang Yu, Robert Bruce Findler, Matthias Felleisen

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contribution

27 Scopus citations

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.

Original languageEnglish (US)
Title of host publicationICFP'07
Subtitle of host publicationProceedings of the 2007 ACM SIGPLAN International Conference on Functional Programming
Pages165-176
Number of pages12
DOIs
StatePublished - 2007
EventICFP'07: 12th ACM SIGPLAN International Conference on Functional Programming - Freiburg, Germany
Duration: Oct 1 2007Oct 3 2007

Publication series

NameProceedings of the ACM SIGPLAN International Conference on Functional Programming, ICFP

Other

OtherICFP'07: 12th ACM SIGPLAN International Conference on Functional Programming
Country/TerritoryGermany
CityFreiburg
Period10/1/0710/3/07

Keywords

  • Design
  • Languages

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Adding delimited and composable control to a production programming environment'. Together they form a unique fingerprint.

Cite this