Derivatives: A Construct for Internet Programming
Derivatives are introduced to provide optimistic computation as a programming language construct. The motivation is in avoiding communication latency in wide-area distributed computing environments. A derivative represents a handle on a value that has not yet been received, where moreover the potential receiver may take assumptions about the value in order to proceed. Derivatives can therefore be seena as a generalization of futures and promises, which have also been introduced in order to deal with latency. A programming language, type system and operational semantics are provided supporting optimistic execution.
Unable to display preview. Download preview PDF.
- David F. Bacon and Robert E. Strom. Optimistic parallelization of communicating sequential processes. In Symposium on Principles and Practice of Parallel Programming, 1991.Google Scholar
- R. Rubenik and W. Zwanepoel. Semantics of optimistic computation. In International Conference on Distributed Computing Systems, pages 20–27, 1990.Google Scholar
- Crispin Cowan and Hanan Lutfiyya. Formal semantics for expressing optimism. In Proceedings of ACM Symposium on Principles of Distributed Computing, 1995.Google Scholar
- J. Gray, P. Helland, P. O’Neil, and D. Shasha. The dangers of replication and a solution. In Proceedings of the 1996 SIGMOD Conference, 1996.Google Scholar
- A. Joseph, A. F. deLespinasse, J. A. Tauber, D. K. Gifford and F. Kaashoek. Rover: A toolkit for mobile information access. In Symposium on Operating Systems Principles, 1995.Google Scholar
- Morry Katz and Daniel Weise. Continuing into the future: On the interaction of futures and first-class continuations. In Proceedings of ACM Symposium on Lisp and Functional Programming, pages 176–184. ACM Press, 1990.Google Scholar
- B. Liskov and L. Shrira. Promises: Linguistic support for efficient asynchronous procedure calls in distributed systems. In Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation, 1998.Google Scholar
- James S. Miller. MultiScheme: A Parallel Processing System Based on MIT Scheme. PhD thesis. MIT, 1987.Google Scholar
- Luc Moreau. The semantics of Scheme with future. In Proceedings of ACM International Conference on Functional Programming, pages 146–156. ACM Press, 1996.Google Scholar
- Hanne Riis Nielson and Flemming Nielson. Higher-order concurrent programs with finite communication topology. In Proceedings of ACM Symposium on Principles of Programming Languages, 84–97. ACM Press, 1994.Google Scholar