Higher Order Operational Techniques in Semantics
Most object-oriented or functional languages are higher order languages, i.e. ones in which the means of manipulation (e.g. object or function) can itself be manipulated. This book contains a collection of original articles about recent developments in operational semantics for higher order programming languages by some of the leading researchers in the field. Operational techniques are important because they are closer to implementations and language definitions than more abstract mathematical techniques such as denotational semantics. One of the exciting developments reflected by the book is that mathematical structures and techniques used in denotational semantics (such as fixpoint induction) may be recovered from a purely operational starting point. The book surveys and introduces techniques such as contextual equivalence, applicative bisimulation, logical relations, improvement relations, explicit models of memory management, and labelling techniques for confluence properties. It treats a variety of higher order languages, based on functions, processes and objects, with and without side effects, typed and untyped.