Implementing first-class polymorphic delimited continuations by a type-directed selective CPS-transform

  • Authors:
  • Tiark Rompf;Ingo Maier;Martin Odersky

  • Affiliations:
  • École Polytechnique Fédérale de Lausanne (EPFL), 1015 Lausanne, Switzerland;École Polytechnique Fédérale de Lausanne (EPFL), 1015 Lausanne, Switzerland;École Polytechnique Fédérale de Lausanne (EPFL), 1015 Lausanne, Switzerland

  • Venue:
  • Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.