Typed concurrent objects

  • Vasco T. Vasconcelos
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 821)

Abstract

Based on a name-passing calculus and on its typing system the paper shows how to build several language constructors towards a strongly-typed object-oriented concurrent programming language. The basic calculus incorporates the notions of asynchronous labelled messages, concurrent objects composed of labelled methods, and a form of abstraction on processes allowing in particular to declare polymorphic classes. We introduce a notion of values as name-expressions, and show how to create subclasses of existing classes. A systematic translation of the derived constructors into the basic calculus provides for semantics and for typing rules for the new constructors.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    Martín Abadi and Luca Cardelli. A theory of primitive objects. DECSRC. Shorter versions in European Symposium on Programming, and in Theoretical Aspects of Computer Software, 1994.Google Scholar
  2. [2]
    Felice Cardone and Mario Coppo. Two extensions of Curry's type inference system. In Logic and Computer Science, pages 19–75. Academic Press limited, 1990.Google Scholar
  3. [3]
    Luis Damas and Robin Milner. Principal type-schemes for functional programs. In 9th A CM Symposium on Principles of Programming Languages, pages 207–212, 1982.Google Scholar
  4. [4]
    Carl Hewitt, Peter Bishop, and Richard Steiger. A universal, modular actor formalism for artificial intelligence. In 3rd International Joint Conference on Artificial Intelligence, pages 235–245, 1973.Google Scholar
  5. [5]
    Kohei Honda and Mario Tokoro. An object calculus for asynchronous communication. In 5th European Conference on Object-Oriented Programming, volume 512 of LNCS, pages 141–162. Springer-Verlag, 1991.Google Scholar
  6. [6]
    Paul Hudak, Simon Peyton Jones, Philip Wadler, et al. Report on the programming language Haskell: A non-strict, purely functional language. Version 1.2. ACM Sigplan Notices, 27(5), 1992.Google Scholar
  7. [7]
    Simon Peyton Jones. The Implementation of Functional Programming Languages. Prentice Hall, 1987.Google Scholar
  8. [8]
    Robin Milner. Functions as processes. In Automata, Language and Programming, volume 443 of LNCS. Springer-Verlag, 1990. Also as Rapport de Recherche No 1154, INRIA-Sophia Antipolis, February 1990.Google Scholar
  9. [9]
    Robin Milner and Mads Tofte. The Definition of Standard ML. The MIT Press, Cambridge, Massachusetts, 1991.Google Scholar
  10. [10]
    Oscar Nierstrasz. Towards an object calculus. In Object-Based Concurrent Computing, volume 469 of LNCS, pages 1–20. Springer-Verlag, 1992.Google Scholar
  11. [11]
    Atsushi Ohori. A compilation method for ML-style polymorphic record calculi. In 19th ACM Symposium on Principles of Programming Languages, pages 154–165, 1992.Google Scholar
  12. [12]
    Benjamin C. Pierce, Didier Rémy, and David N. Turner. A typed higherorder programming language based on the pi-calculus. University of Edinburgh, 1993.Google Scholar
  13. [13]
    D. A. Turner. Miranda: a non-strict functional language with polymorphic types. In IFIP International Conference on Functional Programming and Computer Architecture, volume 201 of LNCS. Springer-Verlag, 1985.Google Scholar
  14. [14]
    Vasco T. Vasconcelos. Recursive types in a calculus of objects. CS 93-002, Keio University, November 1993. Revised version to appear in the Transactions of Information Processing Society of Japan.Google Scholar
  15. [15]
    Vasco T. Vasconcelos. Predicative polymorphism in π-calculus. In 5th Parallel Architectures and Languages Europe, LNCS. Springer-Verlag, July 1994.Google Scholar
  16. [16]
    Vasco T. Vasconcelos and Kohei Honda. Principal typing-schemes in a polyadic π-calculus. In 4th International Conference on Concurrency Theory, volume 715 of LNCS, pages 524–538. Springer-Verlag, August 1993. Also as Keio University Report CS 92-002.Google Scholar
  17. [17]
    Vasco T. Vasconcelos and Mario Tokoro. A typing system for a calculus of objects. In 1st International Symposium on Object Technologies for Advanced Software, volume 742 of LNCS, pages 460–474. Springer-Verlag, November 1993.Google Scholar
  18. [18]
    David Walker. π-calculus semantics of object-oriented programming languages. In Theoretical Aspects of Computer Software, volume 526 of LNCS, pages 532–547. Springer-Verlag, 1992.Google Scholar

Copyright information

© Springer-Verlag 1994

Authors and Affiliations

  • Vasco T. Vasconcelos
    • 1
  1. 1.Department of Computer ScienceKeio UniversityYokohamaJapan

Personalised recommendations