Skip to main content

Derivatives: A Construct for Internet Programming

  • Conference paper
  • First Online:
Internet Programming Languages (ICCL 1998)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1686))

Included in the following conference series:

  • 121 Accesses

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Bibliography

  1. 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 

  2. R. Rubenik and W. Zwanepoel. Semantics of optimistic computation. In International Conference on Distributed Computing Systems, pages 20–27, 1990.

    Google Scholar 

  3. Crispin Cowan and Hanan Lutfiyya. Formal semantics for expressing optimism. In Proceedings of ACM Symposium on Principles of Distributed Computing, 1995.

    Google Scholar 

  4. Alessandro Giacalone, Prateek Mishra, and Sanjiva Prasad. Facile: A symmetric integration of concurrent and functional programming. International Journal of Parallel Programming, 18(2):121–160, 1996

    Article  Google Scholar 

  5. 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 

  6. Robert Halstead. Multilisp: A language for concurrent symbolic computation. ACM Transactions on Programming Languages and Systems, 7(4):501–537, 1985.

    Article  MATH  Google Scholar 

  7. David Jefferson. Virtual time. ACM Transactions on Programming Languages and Systems, 7(3):404–420, 1985.

    Article  MathSciNet  Google Scholar 

  8. 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 

  9. 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 

  10. J. J. Kistler and M. Satyanarayanan. Disconnected operation in the Coda file system. ACM Transactions on Computer Systems, 10:3–25, 1992.

    Article  Google Scholar 

  11. 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 

  12. James S. Miller. MultiScheme: A Parallel Processing System Based on MIT Scheme. PhD thesis. MIT, 1987.

    Google Scholar 

  13. 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 

  14. 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 

  15. R. E. Strom and S. Yemini. Optimistic recovery in distributed systems. ACM Transactions on Computer Systems, 3(3):204–226, 1985.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Duggan, D. (1999). Derivatives: A Construct for Internet Programming. In: Bal, H.E., Belkhouche, B., Cardelli, L. (eds) Internet Programming Languages. ICCL 1998. Lecture Notes in Computer Science, vol 1686. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-47959-7_6

Download citation

  • DOI: https://doi.org/10.1007/3-540-47959-7_6

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66673-8

  • Online ISBN: 978-3-540-47959-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics