ACM Home Page
Please provide us with feedback. Feedback
The RPC calculus
Full text PdfPdf (463 KB)
Source
International Conference on Principles and Practice of Declarative Programming archive
Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming table of contents
Coimbra, Portugal
SESSION: Distribution table of contents
Pages 231-242  
Year of Publication: 2009
ISBN:978-1-60558-568-0
Authors
Ezra E.K. Cooper  University of Edinburgh, Edinburgh, United Kingdom
Philip Wadler  University of Edinburgh, Edinburgh, United Kingdom
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 6,   Citation Count: 0
Additional Information:

abstract   references   index terms  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1599410.1599439
What is a DOI?

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 location-aware 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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Anindya Banerjee, Nevin Heintze, and Jon G. Riecke. Design and correctness of program transformations based on control-flow analysis. In TACS '01, volume 2215 of Lecture Notes in Computer Science, pages 420--447. Springer, 2001.
 
2
Jeffrey M. Bell, Françoise Bellegarde, and James Hook. Type-driven defunctionalization. SIGPLAN Not., 32(8):25--37, 1997.
 
3
Jeffrey M. Bell and James Hook. Defunctionalization of typed programs. Technical report, Oregon Graduate Institute, 1994.
 
4
Andrew D. Birrell and Bruce Jay Nelson. Implementing remote procedure calls. ACM Trans. Comput. Syst., 2(1):39--59, 1984.
 
5
Ezra Cooper, Sam Lindley, Philip Wadler, and Jeremy Yallop. Links: Web programming without tiers. In FMCO '06, 2006.
 
6
Brian J. Corcoran, Nikhil Swamy, and Michael Hicks. Cross-tier, labeld-based secuirty enforcement for web applications. In Proceedings of the ACM SIGMOD International Conference on Management of Data, June 2009. To appear.
 
7
Olivier Danvy and Kevin Millikin. Refunctionalization at work. Technical Report RS-08-4, BRICS, June 2008.
 
8
Olivier Danvy and Lasse R. Nielsen. Defunctionalization at work. In PPDP '01, pages 162--174. ACM, 2001.
 
9
Michael J. Fischer. Lambda calculus schemata. SIGACT News, (14):104--109, 1972.
 
10
Steven E. Ganz, Daniel P. Friedman, and Mitchell Wand. Trampolined style. In ICFP '99. ACM Press, September 1999.
 
11
Thomas Johnsson. Lambda lifting: transforming programs to recursive equations. In Proc. of a conference on Functional programming languages and computer architecture, pages 190--203, New York, NY, USA, 1985. Springer-Verlag New York, Inc.
 
12
Jacob Matthews and Robert Bruce Findler. Operational semantics for multi-language programs. In POPL '07, pages 3--10, New York, NY, USA, 2007. ACM.
 
13
Jacob Matthews, Robert Bruce Findler, Paul Graunke, Shriram Krishnamurthi, and Matthias Felleisen. Automatically restructuring programs for the web. Automated Software Engineering, 11:337--364, 10 2004.
 
14
Tom Murphy, VII. Modal Types for Mobile Code. PhD thesis, Carnegie Mellon University, 2007.
 
15
Tom Murphy, VII, Karl Crary, Robert Harper, and Frank Pfenning. A symmetric modal lambda calculus for distributed computing. In LICS '04, pages 286--295, Washington, DC, USA, 2004. IEEE Computer Society.
 
16
Matthias Neubauer. Multi-Tier Programming. PhD thesis, Universität Freiburg, 2007.
 
17
Matthias Neubauer and Peter Thiemann. From sequential programs to multi-tier applications by program transformation. In POPL '05, pages 221--232, New York, NY, USA, 2005. ACM Press.
 
18
Lasse R. Nielsen. A denotational investigation of defunctionalization. Technical Report BRICS RS-00-47, DAIMI, Department of Computer Science, University of Aarhus, December 2000.
 
19
Atsushi Ohori and Kazuhiko Kato. Semantics for communication primitives in a polymorphic language. In POPL '93, pages 99--112, New York, NY, USA, 1993. ACM.
 
20
Gordon Plotkin. Call-by-name, call-by-value, and the lambda calculus. Theoretical Computer Science, 1:125--159, 1975.
 
21
François Pottier and Nadji Gauthier. Polymorphic typed defunctionalization. In POPL '04, pages 89--98, New York, NY, USA, 2004. ACM.
 
22
John C. Reynolds. Definitional interpreters for higher-order programming languages. In ACM '72: Proceedings of the ACM annual conference, pages 717--740, New York, NY, USA, 1972. ACM Press.
 
23
John C. Reynolds. The discoveries of continuations. LISP and Symbolic Computation, 6(3):233--247, 1993.
 
24
Steve Zdancewic, Dan Grossman, and Greg Morrisett. Principals in programming languages: a syntactic proof technique. In ICFP '99, pages 197--207, New York, NY, USA, 1999. ACM Press.