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.
References
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.
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.
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.
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.
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.
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.
Simon Peyton Jones. The Implementation of Functional Programming Languages. Prentice Hall, 1987.
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.
Robin Milner and Mads Tofte. The Definition of Standard ML. The MIT Press, Cambridge, Massachusetts, 1991.
Oscar Nierstrasz. Towards an object calculus. In Object-Based Concurrent Computing, volume 469 of LNCS, pages 1–20. Springer-Verlag, 1992.
Atsushi Ohori. A compilation method for ML-style polymorphic record calculi. In 19th ACM Symposium on Principles of Programming Languages, pages 154–165, 1992.
Benjamin C. Pierce, Didier Rémy, and David N. Turner. A typed higherorder programming language based on the pi-calculus. University of Edinburgh, 1993.
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.
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.
Vasco T. Vasconcelos. Predicative polymorphism in π-calculus. In 5th Parallel Architectures and Languages Europe, LNCS. Springer-Verlag, July 1994.
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.
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.
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.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Vasconcelos, V.T. (1994). Typed concurrent objects. In: Tokoro, M., Pareschi, R. (eds) Object-Oriented Programming. ECOOP 1994. Lecture Notes in Computer Science, vol 821. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0052178
Download citation
DOI: https://doi.org/10.1007/BFb0052178
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58202-1
Online ISBN: 978-3-540-48567-4
eBook Packages: Springer Book Archive