Implementing First-Class Polymorphic Delimited Continuations by a Type-Directed Selective CPS-Transform

We describe the implementation of first-class polymorphic delimited continuations in the programming language Scala. We use Scala's pluggable typing architecture to implement a simple type and effect system, which discriminates expressions with control effects from those without and accurately tracks answer type modification incurred by control effects. To tackle the problem of implementing first-class continuations under the adverse conditions brought upon by the Java VM, we employ a selective CPS transform, which is driven entirely by effect-annotated types and leaves pure code in direct style. Benchmarks indicate that this high-level approach performs competitively.


Published in:
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Presented at:
International Conference on Functional Programming, Edinburgh, Scotland, August 31-September 02, 2009
Year:
2009
Publisher:
New York, NY, USA, ACM
Keywords:
Laboratories:




 Record created 2010-05-31, last modified 2018-09-13

Publisher's version:
Download fulltext
PDF

Rate this document:

Rate this document:
1
2
3
 
(Not yet reviewed)