@MISC{Queinnec92valuetransforming, author = {Christian Queinnec}, title = {Value Transforming Style}, year = {1992} }
Bookmark
OpenURL
Abstract
A new program transformation is presented that allows to remove control operators related to partial continuations. The basis for the transformation is to adopt an improved representation for continuations that makes frames apparent. Various examples of control operators with or without dynamic extent stress are presented. Scheme [IEE91], offers first-class continuations with indefinite extent. Pioneered in [Lan65, Rey72], continuations proved to be very useful tools allowing to program a wide variety of control features such as coroutines [Wan80], engines [HF84], escapes [HFW84] etc. The call/cc function reifies [Wan86] continuations into monadic functions, transfer of control occurs when these functional objects are applied. A transformation called "Continuation Passing Style" (or CPS for short) exists that transforms a program using call/cc into a new semantically equivalent program without call/cc. In this transformation, continuations are transformed again into monadic functions....