Advertisement

A type-based implementation of a language with distributed scope

  • Dominic Duggan
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1222)

Abstract

Several languages have been designed and implemented for programming mobile computations. This chapter describes a mobile code language based on extending the popular ML language. The language design, and its implementation, are distinguished by the use of run-time type information for computation. This is intended to motivate the use of run-time types in implementations of languages intended for distributed programming and mobile computations, particularly languages such as ML that provide type polymorphism.

Keywords

Type Variable Address Space Dynamic Typing Type Constructor Mobile Computation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Martin Abadi and Luca Cardelli. A Theory of Objects. Springer-Verlag, July 1996.Google Scholar
  2. 2.
    Martin Abadi, Luca Cardelli, Benjamin Pierce, and Gordon Plotkin. Dynamic typing in a statically typed language. ACM Transactions on Programming Languages and Systems, 13(2):237–268, 1991.Google Scholar
  3. 3.
    Andrew Appel. Run-time tags aren't necessary. Lisp and Symbolic Computation, 19(7):703–705, July 1989.Google Scholar
  4. 4.
    Andrew Birrell, Greg Nelson, Susan Owicki, and Edward Wobber. Network objects. In Symposium on Operating Systems Principles, pages 217–230. ACM Press, 1993.Google Scholar
  5. 5.
    Graham M. Birtwistle, Ole-Johan Dahl, Bjorn Myhrhaug, and Kristen Nygaard. Simula Begin. Studentlitteratur (Lund, Sweden), Bratt Institute Fuer Neues Lerned (Goch, FRG), Chartwell-Bratt Ltd (Kent, England, 1979.Google Scholar
  6. 6.
    L. Cardelli. Mobile computations. In J. Vitek and C. Tschudin, editors, Mobile Object Systems, Lecture Notes in Computer Science, chapter 1. Springer-Verlag, 1997.Google Scholar
  7. 7.
    Luca Cardelli. A language with distributed scope. In Proceedings of ACM Symposium on Principles of Programming Languages, pages 286–297, San Francisco, California, January 1995. ACM Press.Google Scholar
  8. 8.
    G. Cugola, C. Ghezzi, G. P. Picco, and G. Vigna. Analyzing mobile code languages. In J. Vitek and C. Tschudin, editors, Mobile Object Systems, Lecture Notes in Computer Science, chapter 8. Springer-Verlag, 1997.Google Scholar
  9. 9.
    Dominic Duggan. Dynamic typing for distributed programming in polymorphic languages. Submitted for publication, December 1994.Google Scholar
  10. 10.
    Dominic Duggan. Container objects with polymorphic methods and self types. Submitted for publication, March 1996.Google Scholar
  11. 11.
    Dominic Duggan. Object type constructors. In Workshop on Foundations of Object-Oriented Languages, New Brunswick, New Jersey, July 1996.Google Scholar
  12. 12.
    James Gosling and Henry McGilton. The Java language environment. Technical report, Sun Microsystems White Paper, May 1995.Google Scholar
  13. 13.
    Cordelia Hall, Kevin Hammond, Simon Peyton-Jones, and Philip Wadler. Type classes in Haskell. ACM Transactions on Programming Languages and Systems, 18(2):109–138, March 1996.Google Scholar
  14. 14.
    Robert Harper and Gregory Morrisett. Compiling polymorphism using intensional type analysis. In Proceedings of ACM Symposium on Principles of Programming Languages, San Francisco, California, January 1995. ACM Press.Google Scholar
  15. 15.
    Maurice Herlihy and Barbara Liskov. A value transmission method for abstract data types. ACM Transactions on Programming Languages and Systems, 4(4):527–551, 1982.Google Scholar
  16. 16.
    Bill Janssen and Mike Spreitzer. ILU: Inter-language unification via object modules. Position paper for Workshop at Proceedings of ACM Symposium on Object-Oriented Programming: Systems, Languages and Applications, October 1995.Google Scholar
  17. 17.
    F. Knabe. Performance-oriented implementation strategies for a mobile agent language. In J. Vitek and C. Tschudin, editors, Mobile Object Systems, Lecture Notes in Computer Science, chapter 13. Springer-Verlag, 1997.Google Scholar
  18. 18.
    Clifford Krumvieda. Distributed ML: Abstraction for Efficient and Fault-Tolerant Programming. PhD thesis, Cornell University, Ithaca, New York, August 1993.Google Scholar
  19. 19.
    Xavier Leroy. The ZINC experiment: an economical implementation of the ML language. Technical Report 117, INRIA, 1990.Google Scholar
  20. 20.
    Xavier Leroy and Michel Mauny. Dynamics in ML. Journal of Functional Programming, 3(4):431–463, 1993.Google Scholar
  21. 21.
    Xavier Leroy and Pierre Weiss. Dynamics in ML. In Proceedings ofACM Symposium on Functional Programming and Computer Architecture, 1991.Google Scholar
  22. 22.
    Robin Milner, Mads Tofte, and Robert Harper. The Definition of Standard ML. The MIT Press, 1990.Google Scholar
  23. 23.
    Greg Nelson. Systems Programming in Modula-3. Prentice-Hall Series in Innovative Technology. Prentice-Hall, 1991.Google Scholar
  24. 24.
    Atsushi Ohori and Kazuhiko Kato. Semantics for communication primitives in a polymorphic language. In Proceedings of ACM Symposium on Principles of Programming Languages, pages 99–112. ACM Press, 1993.Google Scholar
  25. 25.
    Simon Peyton-Jones, Cordy Hall, Kevin Hammond, Will Partain, and Philip Wadler. The Glasgow Haskell compiler: a technical overview. In Proceedings of the UK Joint Framework for Information Technology (JFIT) Technical Conference, Keele, England, 1993.Google Scholar
  26. 26.
    Piotr Przybylski. A type based implementation for a language with distributed scope. Master's thesis, University of Waterloo, 1996.Google Scholar
  27. 27.
    Francois Rouaix. A Web navigator with applets in CAML. In Fifth International World Wide Web Conference, Paris, France, May 1996.Google Scholar
  28. 28.
    David Tarditi, Greg Morrisett, Perry Cheng, Christopher Stone, Robert Harper, and Peter Lee. TIL: A type-directed optimizing compiler for ML. In Proceedings of ACM SIGPLAN Conferenceon Programming Language Design and Implementation, Philadelphia, Pennsylvania, May 1996. ACM Press.Google Scholar
  29. 29.
    Andrew Tolmach. Tag-free garbage collection using explicit type parameters. lnProceedings of ACM Symposium on Lisp and Functional Programming, pages 1–11, Orlando, Florida, 1994. ACM Press.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Dominic Duggan

There are no affiliations available

Personalised recommendations