The RPC Calculus
Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming - PPDP 09
Date
2009Author
Cooper, Ezra
Wadler, Philip
Metadata
Abstract
Several recent language designs have offered a unified language
for programming a distributed system, with explicit notation of locations;
we call these “location-aware” languages. These languages
provide constructs allowing the programmer to control the location
(the choice of host, for example) where a piece of code should run,
which can be useful for security or performance reasons. On the
other hand, a central mantra of WWW system engineering prescribes
that web servers should be “stateless”: that no “session
state” should be maintained on behalf of individual clients—that
is, no state that pertains to the particular point of the interaction at
which a client program resides. Many implementations of locationaware
languages are not at home on the web: they hold some kind
of client-specific state on the server. We show how to implement a
symmetrical location-aware language on top of a stateless server.