Peter Sewell
University of Cambridge

Distributed Interaction: Abstraction, Rebinding, and Version Control
(joint work with James Leifer, Keith Wansbrough, Mair Allen-Williams,
Francesco Zappa Nardelli, and Pierre Habouzit)


This talk is on the design of programming languages for distributed computation, focusing on support for type-safe marshalling of arbitrary language values.

I'll discuss the design space and describe our ongoing work on an experimental language, Acute, which collects a coherent set of design choices. Acute extends an ML fragment with marshalling and versions, it has a complete semantic definition (of typing, compilation, and runtime), and an implementation.

The main features are: (1) unmarshalling can involve rebinding to local resources; (2) values of abstract types can be communicated, and a globally-coherent notion of type equality ensures that unmarshalling respects abstraction; and (3) interoperation between separately-built programs with different versions of shared modules is supported, with fine-grain version control.

Host:  Bob Harper

Principles of Programming Seminars

Thursday, May 20, 2004
3:30 p.m.
Wean Hall 8220