Bistable bidomains have been used to give a simple order-theoretic construction of a cartesian closed category of sequential functions. In this paper, we investigate the intensional properties of a full subcategory, the locally boolean domains, in which the bistable structure is given by an involution operation. We show that every pointed locally boolean domain is the limit of an ω-chain of “prenex normal forms” constructed using only products and lifted sums. We use this result to describe a model of linear logic (incorporating both intuitionistic and polarized classical fragments). We show that affine and bistable functions correspond to unique “strategies” on the associated normal forms, and that function composition corresponds to “parallel composition plus hiding” of these strategies.
We describe a simple but expressive calculus of sequential processes, represented as coroutines. We show that this calculus can be used to express a variety of programming language features including procedure calls, labelled jumps, integer references and stacks. We describe the operational properties of the calculus using reduction rules and equational axioms.
We describe a notion of categorical model for our calculus, and give a simple example of such a model based on a category of games and strategies. We prove full abstraction results showing that equivalence in the categorical model corresponds to observational equivalence in the calculus, and also to equivalence of evaluation trees, which are infinitary normal forms for the calculus.
We show that our categorical model can be used to interpret the untyped λ-calculus and use this fact to extract a sound translation of the latter into our calculus of coroutines.
A fully abstract game semantics for an extension of Idealized Algol with locally declared exceptions is presented. It is based on "Hyland-Ong games", but as well as relaxing the constraints which impose functional behaviour (as in games models of other computational effects such as continuations and references), new structure is added to plays in the form of additional pointers which track the flow of control. The semantics is proved to be fully abstract by a factorization of strategies into a 'new-exception generator' and a strategy with local control flow. It is shown, using examples, that there is no model of exceptions which is a conservative extension of the semantics of Idealized Algol without the new pointers.
We present a semantic analysis of the “linearly used continuation-passing interpretation” of functional languages, based on game semantics. This consists of a category of games with a coherence condition on moves—yielding a fully complete model of an affine-type theory—and a syntax-independent and full embedding of a category of Hyland–Ong/Nickau-style “well-bracketed” games into it. We show that this embedding corresponds precisely to linear CPS interpretation in its action on a games model of call-by-value PCF, yielding a proof of full abstraction for the associated translation. We discuss extensions of the semantics to deal with recursive types, call-by-name evaluation, non-local jumps, and state.