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: Contribution to journalArticlepeer-review

8 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)
Pages (from-to)165-176
Number of pages12
JournalACM SIGPLAN Notices
Volume42
Issue number9
DOIs
StatePublished - Sep 2007

Keywords

  • Design
  • Languages

ASJC Scopus subject areas

  • General Computer Science

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