An Operational Investigation of the CPS Hierarchy
We explore the hierarchy of control induced by successive transformations into continuation-passing style (CPS) in the presence of ``control delimiters'' and ``composable continuations''. Specifically, we investigate the structural operational semantics associated with the CPS hierarchy.
To this end, we characterize an operational notion of continuation semantics. We relate it to the traditional CPS transformation and we use it to account for the control operator shift and the control delimiter reset operationally. We then transcribe the resulting continuation semantics in ML, thus obtaining a native and modular implementation of the entire hierarchy. We illustrate it with a few examples, the most significant of which is layered monads