Notions of computation and monads
Information and Computation
On full abstraction for PCF: I, II, and III
Information and Computation
The Theory and Practice of Concurrency
The Theory and Practice of Concurrency
Notions of Computation Determine Monads
FoSSaCS '02 Proceedings of the 5th International Conference on Foundations of Software Science and Computation Structures
Information and Computation
Game semantics and abstract machines
LICS '96 Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science
A Fully Abstract Game Semantics for General References
LICS '98 Proceedings of the 13th Annual IEEE Symposium on Logic in Computer Science
A Fully Abstract Game Semantics for Finite Nondeterminism
LICS '99 Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science
Call-By-Push-Value: A Functional/Imperative Synthesis (Semantics Structures in Computation, V. 2)
Call-By-Push-Value: A Functional/Imperative Synthesis (Semantics Structures in Computation, V. 2)
A fully abstract trace model for dataflow and asynchronous networks
Distributed Computing
Amb Breaks Well-Pointedness, Ground Amb Doesn't
Electronic Notes in Theoretical Computer Science (ENTCS)
Dually nondeterministic functions
ACM Transactions on Programming Languages and Systems (TOPLAS)
Typed normal form bisimulation
CSL'07/EACSL'07 Proceedings of the 21st international conference, and Proceedings of the 16th annuall conference on Computer Science Logic
Hi-index | 0.00 |
We solve a longstanding problem by providing a denotational model for nondeterministic programs that identifies two programs iff they have the same range of possible behaviours. We discuss the difficulties with traditional approaches, where divergence is bottom or where a term denotes a function from a set of environments. We see that making forcing explicit, in the manner of game semantics, allows us to avoid these problems. We begin by modelling a first-order language with sequential I/O and unbounded nondeterminism (no harder to model, using this method, than finite nondeterminism). Then we extend the semantics to higher-order and recursive types by adapting earlier game models. Traditional adequacy proofs using logical relations are not applicable, so we use instead a novel hiding argument.