*Control Flow Semantics* presents a unified, formal treatment of
the semantics of a wide spectrum of control flow notions as found in sequential,
concurrent, logic, object-oriented, and functional programming languages.
Whereas in more traditional approaches one focuses on input/output behavior,
in this work equal attention is devoted to finite and infinite computations,
the latter motivated by the growing importance of reactive systems.

Knowledge of the comparative semantics of control structures is
critical for the designers of programming languages, and it is difficult
to choose from today's bewildering variety of control flow concepts (the
ways in which a program specifies the successive steps to be taken during
execution). Encyclopedic in scope, *Control Flow Semantics* provides
comprehensive coverage of these concepts, developing operational and denotational
models for control flow in 27 languages. In all cases, precise statements
are given relating these models.

A rich body of semantic definitional techniques is presented, including (labeled) transition systems, higher-order definitions, resumptions and continuations, linear or sequence-based models, and models specified by domain equations. Moreover, both symbol-based or schematic languages -prevalent in the study of concurrency- and state- based or interpreted languages are considered. The book is founded on a unifying mathematical basis of metric structures, allowing the full modeling of infinite behavior, as well as the exploitation of some classical results, such as Banach's fixed point theorem. Perspectives on further topics, such as full abstractness, noninterleaving semantics for parallelism, and second-order programming are also included.

Table of Contents, Preface, The 27 Languages

The MIT Press

ISBN 0-262-04154-5

$50.00 (cloth), xx+564p