Corrigendum: Polymorphic Type Assignment and CPS Conversion

1
Higher-Order and Symbolic Computation, 16, 401, 2003 c 2003 Kluwer Academic Publishers. Manufactured in The Netherlands. Corrigendum: Polymorphic Type Assignment and CPS Conversion It has come to our attention that there is an error in the proof of Theorem 6 on page 373 of the above titled paper [1]. Specifically, the term e 0 does not type check in the system named DM as required by the theorem, because the types of the variables c and t require the type constructor τ cont, which is not present in the core DM system. To repair the theorem it is sufficient to weaken condition (2) of the theorem to require that the expression e be type checked in extensions of DM and DM+ with free type-constructor variables, which are transformed to themselves by the cbv type transformation. To repair the proof, treat the required type constructor cont as a free unary type-constructor variable declared in the context along with the ordinary variables c and t . Then, after transformation, replace all occurrences of τ cont with [τ/ t ]t cont cbv . We are grateful to Hongwei Xi for pointing out this error. Robert Harper Mark Lillibridge Reference 1. Harper, B. and Lillibridge, M. Polymorphic type assignment and CPS conversion. LISP and Symbolic Compu- tation, 6(3/4) (1993) 361–380.

Transcript of Corrigendum: Polymorphic Type Assignment and CPS Conversion

Higher-Order and Symbolic Computation, 16, 401, 2003c© 2003 Kluwer Academic Publishers. Manufactured in The Netherlands.

Corrigendum: Polymorphic Type Assignmentand CPS Conversion

It has come to our attention that there is an error in the proof of Theorem 6 on page 373 ofthe above titled paper [1]. Specifically, the term e′

0 does not type check in the system namedDM as required by the theorem, because the types of the variables c and t require the typeconstructor τ cont, which is not present in the core DM system.

To repair the theorem it is sufficient to weaken condition (2) of the theorem to require thatthe expression e be type checked in extensions of DM and DM+ with free type-constructorvariables, which are transformed to themselves by the cbv type transformation. To repairthe proof, treat the required type constructor cont as a free unary type-constructor variabledeclared in the context along with the ordinary variables c and t . Then, after transformation,replace all occurrences of τ cont with [τ/t]‖t cont‖cbv.

We are grateful to Hongwei Xi for pointing out this error.

Robert HarperMark Lillibridge

Reference

1. Harper, B. and Lillibridge, M. Polymorphic type assignment and CPS conversion. LISP and Symbolic Compu-tation, 6(3/4) (1993) 361–380.