LISP and Symbolic Computation, 6(3/4)361-380

Polymorphic Type Assignment and CPS Conversion

Robert Harper, School of Computer Science, Carnegie Mellon University, 5000 Forbes Avenue, Pittsburgh, PA 15213
Mark Lillibridge, School of Computer Science, Carnegie Mellon University, 5000 Forbes Avenue, Pittsburgh, PA 15213

Abstract: Meyer and Wand established that the type of a term in the simply typed lambda-calculus may be related in a straightforward manner to the type of its call-by-value CPS transform. This typing property may be extended to Scheme-like continuation-passing primitives, from which the soundness of these extensions follows. We study the extension of these results to the Damas-Milner polymorphic type assignment system under both the call-by-value and call-byname interpretations. We obtain CPS transforms for the call-by-value interpretation, provided that the polymorphic let is restricted to values, and for the call-by-name interpretation with no restrictions. We prove that there is no call-by-value CPS transform for the full Damas-Milner language that validates the Meyer-Wand typing property and is equivalent to the standard call-by-value transform up to operational equivalence.

Keywords: polymorphism, continuations

This article is not available online.
A corrigendum can be downloaded [here] or locally [here].
[picture of journal cover]

April 2004 - hosc@brics.dk