Constructing Call-by-Value Continuation Semantics

Abstract
The problem of transforming one semantic description for a language into another related description of the same language is considered. Since direct and continuation semantics have been studied in some detail, they are obvious test-beds for suggesting the problems that might be encountered in the process. One of the problems is that the semantic objects in two descriptions of a language may be quite dissimilar. For example, function values of procedures in direct semantics are quite different from function values in continuation semantics. MiMe and Reynolds have defined predicates which can be used to relate the two kinds of function values. Starting with such predicates, transformations are defined, and it is then shown that the transformations preserve the predicates. The transformations are used to construct continuation semantics, starting from a direct semantics of a language with procedures called by value.