A class abstraction for a hierarchical type system
- First Online:
In object oriented database languages and in languages supporting the semantic data model the construct used to collect sets of homogeneous entities is usually enriched with the possibility of imposing a set-inclusion relation among different collections. We call “class” such a data structure characterized by its ability of collecting values and of being in a containment relation with other classes. In many languages the class notion is not realized by a first class data type but is defined in some special way and the definition of a class is overloaded with constraints, and tightly linked to the definition of types. In this paper we embed in a strongly typed language with type inclusion a basic, but powerful, notion of a class data type which is just a first class data type orthogonal to the other notions of the language. In this context we study one of the most problematic issues in class data types, migration of objects from superclasses to subclasses.
Unable to display preview. Download preview PDF.
- [Albano, Cardelli, Orsini 85]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
- [Albano, Ghelli, Orsini 88]Albano A., G. Ghelli and R. Orsini, “Galileo Version 2.0 — user manual”, Università di Pisa, Italy, 1988.Google Scholar
- [Bruce, Longo 90]Bruce K.B. and G. Longo, “A Modest Model of Records, Inheritance and Bounded Quantification”, to appear on Information and Computation, 1990.Google Scholar
- [Cardelli 84]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
- [Cardelli 85]Cardelli L., “Amber”, Combinators and functional programming languages, Proc. of the 13th summer school of the LITP, Le Val D'Ajol, Vosges (France), 1985, LNCS 242, Springer-Verlag, 1986.Google Scholar
- [Cardelli, Wegner 85]Cardelli L. and P. Wegner, “On understanding types, data abstraction and polymorphism”, ACM Computing Surveys, vol 17 n.4, Dec. 1985.Google Scholar
- [Cardelli, Donahue, Glassman & others 89]Cardelli L., J. Donahue, L. Glassman, M. Jordan, B. Kalsoff and G. Nelson, “Modula-3 report (revised)”, SRC Research Report 53, Digital Equipment Corporation, Palo Alto, CA, 1989.Google Scholar
- [Curien, Ghelli 89]Curien P.L. and G. Ghelli, “Coherence of Subsumption”, Technical Report TR-34/89, Dipartimento di Informatica, Università di Pisa, Pisa, Italy, 1989. To appear on Mathematical Structures in Computer Science.Google Scholar
- [Dahl, Nygaard 66]Dahl, O., and K. Nygaard, “Simula, an Algol-based Simulation Language”, CACM vol. 9, 1966.Google Scholar
- [Milner 78]Milner R., “A theory of type polymorphism in programming”, Journal of Computer and System Science 17, 1978.Google Scholar