Abstract
In the last years several object-oriented database systems have come to life. However among them there is a lack of statically strongly typed languages. This is a very important deficiency especially for languages, as the database programming languages, which are designed for complex applications of large size and that evolve in time.
The absence of such a type discipline is justified by the complexity of the problem and of the structures it has to be applied to. Therefore we think that only a fundamental study, which were able to capture the essential features of the system, would lead to a typeful object-oriented programming. Thus we define an extension of F ≤ [CG92] to which we add functions that dispatch on different terms according to the type they receive as argument. In other words, we enrich the explicit parametric polymorphism of by F ≤ an explicit “ad hoc” polymorphism (according to the classification of [Str67]). We prove that the calculus we obtain, called F ≤ & , enjoys the properties of Church-Rosser and Subject Reduction.
This extension constitutes our paradigmatic language for the foundation of object-oriented programming: the connections between F ≤ & and object-oriented languages are widely stressed, and the modeling by F ≤ & of some features of the object-oriented style is described.
The author was supported by the grant n. 203.01.56 of the Consiglio Nazionale delle Ricerche — Comitato Nazionale delle Scienze Matematiche
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
A. Albano, G. Ghelli, M.E. Occhiuto, and R. Orsini. Galileo reference Manual Version 2.0. Servizio editoriale universitario di Pisa, Febbraio 1988.
Apple Computer Inc., Eastern Research and Technology. Dylan: an object-oriented dynamic language, April 1992.
F. Bancilhon, C. Delobel, and P. Kanellakis (eds.). Implementing an Object-Oriented database system: The story of 02. Morgan Kaufmann, 1992.
K.B. Bruce. A paradigmatic object-oriented programming language: Design, static typing and semantics. Technical Report CS-92–01, Williams College, Williamstown, MA 01267, January 1992.
V. Breazu-Tannen, T. Coquand, C. Gunter, and A. Scedrov. Inheritance as implicit coercion. Information and Computation, 93 (1): 172–221, July 1991.
Luca Cardelli. A semantics of multiple inheritance. Information and Computation, 76:138–164, 1988. A previous version can be found in Semantics of Data Types, LNCS 173, 51–67, Springer-Verlag, 1984.
Luca Cardelli. Extensible records in a pure calculus of subtyping. Research report 81, DEC Systems Research Center, January 1992. To appear in [GM93].
G. Castagna. A meta-language for typed object-oriented languages. In R.K. Shyamasundar, editor, 13th Conference on the Foundations of Software Technology and Theoretical Computer Science, LNCS, Bombay, India, December 1993. Springer-Verlag.
P.S. Canning, W.R. Cook, W.L. Hill, J. Mitchell, and W.G. Orthoff. F-bounded quantification for object-oriented programming. In ACM Conference on Functional Programming and Computer Architecture, September 1989.
P. L. Curien and G. Ghelli. Coherence of subsumption, minimum typing and the type checking in Mathematical Structures in Computer Science, 2 (1), 1992.
G. Castagna, G. Ghelli, and G. Longo. A calculus for overloaded functions with subtyping, 1992. To appear in Information and Computation. An extended abstract has appeared in the proceedings of the ACM Conference on LISP and Functional Programming, pp.182–192; San Francisco, June 1992.
CGL93] G. Castagna, G. Ghelli, and G. Longo. A semantics for early: a calculus with overloading and early binding. In M. Bezem and J.F. Groote, editors, International Conference on Typed Lambda Calculi and Applications,number 664 in LNCS, pages 107–123, Utrecht, The Netherlands, March 1993. Springer-Verlag. TLCA’93.
W.R. Cook, W.L. Hill, and P.S. Canning. Inheritance is not sub-typing. 17th Ann. ACM Symp. on Principles of Programming Languages, January 1990.
L. Cardelli and G. Longo. A semantic basis for Quest. Journal of Functional Programming, 1 (4): 417–458, 1991.
L. Cardelli, S. Martini, J.C. Mitchell, and A. Scedrov. An extension of system F with subtyping. In T. Ito and A.R. Meyer, editors, Theoretical Aspects of Computer Software,pages 750–771. Springer-Verlag, September 1991. LNCS 526 (preliminary version). To appear in Information and Computation.
L. Cardelli and P. Wegner. On understanding types, data abstraction, and polymorphism. Computing Surveys, 17 (4): 471–522, December 1985.
L.G. DeMichiel and R.P. Gabriel. Common lisp object system overview. In Bézivin, Hullot, Cointe, and Lieberman, editors, Proc. of ECOOP ’87 European Conference on Object-Oriented Programming, number 276 in LNCS, pages 151–170, Paris, France, June 1987. Springer-Verlag.
G. Ghelli. Proof Theoretic Studies about a Minimal Type System Integrating Inclusion and Parametric Polymorphism. PhD thesis, Dipartimento di Informatica, Università di Pisa, March 1990. Tech. Rep. TD-6/90.
G. Ghelli. A static type system for message passing. In Proc. Of OOPSLA ‘81, 1991.
Carl A. Gunter and John C. Mitchell. Theoretical Aspects of Object-Oriented Programming: Types, Semantics, and Language Design. The MIT Press, 1993. To appear.
R. Hindley. The Church-Rosser property and a result of combinatory logic. Dissertation, 1964. University of Newcastle-upon-Tyne.
Bertrand Meyer. Object-Oriented Software Construction. Prentice-Hall International Series, 1988.
M.H.A. Newman. On theories with a combinatorial definition of “equivalence”. Annals of Math., 43 (2): 223–243, 1942.
NeXT Computer Inc. NeXTstep-concepts. Chapter 3: Object-Oriented Programming and Objective-C,2.0 edition, 1991.
Ontologic Inc., 47 Manning Rd., Billerica, MA 01821. Vbase+:object database for C++.
B.C. Pierce. Bounded quantification is undecidable. In 20th Ann. ACM Symp. on Principles of Programming Languages. ACM-Press, 1993.
B.C. Pierce and D.N. Turner. Simple type-theoretic foundations for object-oriented programming. Journal of Functional Programming,1993. To appear; a preliminary version appeared in Principles of Programming Languages, 1993, and as University of Edinburgh technical report ECS-LFCS-92–225, under the title “Object-Oriented Programming Without Recursive Types”.
B. K. Rosen. Tree manipulation systems and Church-Rosser theorems. Journal of ACM, 20: 160–187, 1973.
C. Strachey. Fundamental concepts in programming languages. Lecture notes for International Summer School in Computer Programming, Copenhagen, August 1967.
Mitchell Wand. Complete type inference for simple objects. In 2nd Ann. Symp. on Logic in Computer Science, 1987.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Castagna, G. (1994). F ≤ & : integrating parametric and “ad hoc” second order polymorphism. In: Beeri, C., Ohori, A., Shasha, D.E. (eds) Database Programming Languages (DBPL-4). Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3564-7_19
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3564-7_19
Publisher Name: Springer, London
Print ISBN: 978-3-540-19853-6
Online ISBN: 978-1-4471-3564-7
eBook Packages: Springer Book Archive