Abstract
It is commonly agreed that decomposing a software design according to the structure of the problem domain makes it easier to maintain and manage its complexity. To retain the resulting decomposition in the implementation, a programming language is needed that supports composition mechanisms that match the compositions in the problem domain. However, current programming languages only offer a small, fixed set of composition mechanisms. This leads to compromised implementations that either do not follow the decomposition from the design, or are cluttered with additional glue code. In this paper, we discuss the composition of control flow and investigate the hypothesis that continuations may be a suitable atomic core principle for offering a wide range of control-flow composition mechanisms in a form that does not compromise the structure and maintainability of the application. We present four variants of exception handling, which have been implemented using continuations and discuss their differences and commonalities. The results of this comparison are encouraging with respect to the expressiveness of continuations and reusability of implementations. But they also show that current language support for continuations leads to code replication and complex code.
Original language | English |
---|---|
Title of host publication | FREECO-Onward! '11 |
Subtitle of host publication | Proceedings of the 2nd Workshop on Free composition @ onward! 2011 |
Place of Publication | New York, NY |
Publisher | Association for Computing Machinery (ACM) |
Pages | 13-18 |
Number of pages | 6 |
ISBN (Print) | 978-1-4503-1025-3 |
DOIs | |
Publication status | Published - 23 Oct 2011 |
Event | 2nd Workshop on Free Composition, FREECO 2011 - Portland, United States Duration: 25 Oct 2011 → 25 Oct 2011 Conference number: 2 http://trese.ewi.utwente.nl/workshops/FREECO/FREECO-Onward2011/home.html |
Workshop
Workshop | 2nd Workshop on Free Composition, FREECO 2011 |
---|---|
Abbreviated title | FREECO @ Onward |
Country | United States |
City | Portland |
Period | 25/10/11 → 25/10/11 |
Internet address |
Keywords
- METIS-281602
- Free Composition
- Exception Handling
- Continuation-passing style
- CR-D.3
- control-flow composition
- Software Composition
- EWI-20905
- IR-78928