Skip to main content

Modelling features of object-oriented languages in second order functional languages with subtypes

  • Technical Contributions
  • Conference paper
  • First Online:
Foundations of Object-Oriented Languages (REX 1990)

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

Abstract

Object oriented languages are an important tool to achieve software reusability in any kind of application and can increase dramatically software productivity in some special fields; they are also considered a logical step in the evolution of object oriented languages. But these languages lack a formal foundation, which is needed both to develop tools and as a basis for the future evolution of these languages; they lack also a strong type system, which would be essential to assure that level of reliability which is required to large evolving systems. Recently some researches have tried to insulate the basic mechanisms of object oriented languages and to embed them in strongly typed functional languages, giving to these mechanism a mathematical semantics and a set of strong type rules. This is a very promising approach which also allows a converging evolution of both the typed functional and the object oriented programming paradigms, making it possible a technology transfer in both directions. Most works in this field are very technical and deal just with one aspect of object oriented programming; many of them use a very similar framework. In this work we describe and exemplify that common framework and we survey some of the more recent and promising works on more specific features, using the framework introduced. We describe the results achieved and point out some problems which are still open, especially those arising from the interactions between different mechanisms.

This work was carried on with the partial support of E.E.C., Esprit Basic Research Action 3070 FIDE and of Italian C.N.R., P.F.I. “Sistemi informatici e calcolo parallelo”.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Albano A., L. Cardelli and R. Orsini, “Galileo: a Strongly Typed Interactive Conceptual Language", ACM Trans on DataBase Systems, Vol. 10, No. 2, 1985.

    Google Scholar 

  2. Cardelli L., “A Semantics of Multiple Inheritance”, Inf. and Comp., 76, 2–3, 138–174, 1988, first published in Semantics of Data Types, G. Kahn, D.B. McQueen and G. Plotkin Eds., LNCS 173, Springer-Verlag, 1984.

    Google Scholar 

  3. Cardelli L. and P. Wegner, “On understanding types, data abstraction and polymorphism”, ACM Computing Surveys, vol 17 n.4, Dec. 1985.

    Google Scholar 

  4. Cardelli L. and J.C. Mitchell, “Operations on Records”, Fifth Intl. Conf. on Mathematical Foundation of Programming Semantics, Tulane Univ., New Orleans, 1989.

    Google Scholar 

  5. Canning P.S., W.L. Hill and W. Olthoff, "A kernel language for object oriented programming”, Tech. Rep. STL-88-21, HP Labs, 1988.

    Google Scholar 

  6. Canning P.S., W.R. Cook, W.L. Hill, J.C. Mitchell and W. Olthoff, “F-bounded polymorphism for object oriented programming”, in Proc. of Conf. on Functional Progr. Languages and Comp. Arch., 1989.

    Google Scholar 

  7. Cook W., “A Denotational Semantics of Inheritance”, PhD Thesis, Brown University, 1989.

    Google Scholar 

  8. Cook W.R., W.L. Hill and P.S. Canning, “Inheritance is not subtyping”, Proc of POPL '90, 1990.

    Google Scholar 

  9. Curien P.L. and G. Ghelli, “Coherence of Subsumption”, Mathematical Structures in Computer Science, to appear. An extended abstract appears in Proc. of CAAP '90.

    Google Scholar 

  10. Ghelli G., “Proof Theoretic Studies about a Minimal Type System Integrating Inclusion and Parametric Polymorphism”, PhD Thesis, TD-6/90, Dipartimento di Informatica dell'Università di Pisa, 1990.

    Google Scholar 

  11. Girard J.Y., “Interpétation fonctionelle et élimination des coupure dans l'arithmetic d'ordre superieur”, These de Doctorat d'Etat, Paris, 1972.

    Google Scholar 

  12. Goldberg A. and D. Robson, “Smalltalk-80. The language and its implementation”, Addison-Wesley, 1983.

    Google Scholar 

  13. Milner R., “A theory of type polymorphism in programming”, Journal of Computer and System Science 17, 1978.

    Google Scholar 

  14. Mitchell J.C. and G.D. Plotkin, “Abstract Types Have Existential Types”, Proc. of POPL 85, 1985.

    Google Scholar 

  15. Mitchell, J., “Toward a typed foundation for method specialization and inheritance”, Proc of POPL '90, 1990.

    Google Scholar 

  16. Reynolds J.C., “Towards a theory of type structure”, in Paris Colloquium on Programming, LNCS 19, Springer-Verlag, 1974.

    Google Scholar 

  17. Wand M., “Type inference for record concatenation and multiple inheritance”, Proc of the fourth Symp. on Logic in Comp. Science, Asilomar, CA, 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. W. de Bakker W. P. de Roever G. Rozenberg

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ghelli, G. (1991). Modelling features of object-oriented languages in second order functional languages with subtypes. In: de Bakker, J.W., de Roever, W.P., Rozenberg, G. (eds) Foundations of Object-Oriented Languages. REX 1990. Lecture Notes in Computer Science, vol 489. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0019448

Download citation

  • DOI: https://doi.org/10.1007/BFb0019448

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-53931-5

  • Online ISBN: 978-3-540-46450-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics