Typing control operators in the CPS hierarchy

  • Authors:
  • Malgorzata Biernacka;Dariusz Biernacki;Sergueï Lenglet

  • Affiliations:
  • University of Wroclaw, Wroclaw, Poland;University of Wroclaw, Wroclaw, Poland;University of Wroclaw, Wroclaw, Poland

  • Venue:
  • Proceedings of the 13th international ACM SIGPLAN symposium on Principles and practices of declarative programming
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

The CPS hierarchy of Danvy and Filinski is a hierarchy of continuations that allows for expressing nested control effects characteristic of, e.g., non-deterministic programming or certain instances of normalization by evaluation. In this article, we present a comprehensive study of a typed version of the CPS hierarchy, where the typing discipline generalizes Danvy and Filinski's type system for control operators shift and reset. To this end, we define a typed family of control operators that give access to delimited continuations in the CPS hierarchy and that are slightly more flexible than Danvy and Filinski's family of control operators shift_i and reset_i, but, as we show, are equally expressive. For this type system, we prove subject reduction, soundness with respect to the CPS translation, and termination of evaluation. We also show that our results scale to a type system for even more flexible control operators expressible in the CPS hierarchy.