skip to main content
research-article
Open access

Integration of parametric and “ad hoc” second order polymorphism in a calculus with subtyping

Published: 01 May 1996 Publication History

Abstract

In this paper we define an extension ofF [CUG92] 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 ofF by an explicit “ad hoc” polymorphism (according the classification of [Str67]). We prove that the calculus we obtain, calledF&, enjoys the properties of Church-Rosser and Subject Reduction and that its proof system is coherent. We also define a significant subcalculus for which the subtyping is decidable. This extension has not only a logical interest but it is strongly motivated by the foundation of a broadly used programming style: object-oriented programming. The connections betweenF& and object-oriented languages are widely stressed, and the modelling byF& of some features of the object-oriented style is described, continuing the work of [CGL96].

References

References

[1]
Apple Computer Inc., Eastern Research and Technology.Dylan: an object-oriented dynamic language, April 1992.
[2]
Barendregt, H.P.:The Lambda Calculus Its Syntax and Semantics. North-Holland, 1984. Revised edition.
[3]
Bruce K.B. A paradigmatic object-oriented programming language: Design, static typing and semantics Journal of Functional Programming 1994 4 2 127-206
[4]
Breazu-Tannen V., Coquand T., Gunter G., and Scedrov A. Inheritance as implicit coercion Information and Computation 1991 93 1 172-221
[5]
Luca Cardelli A semantics of multiple inheritance Information and Computation 1988 76 138-164
[6]
Castagna G. Strong typing in object-oriented paradigms Technical Report 92-11 1992 Paris Laboratoire d'Informatique, Ecole Normale Supérieure
[7]
Castagna, G.:Overloading, subtyping and late binding: functional foundation of object-oriented programming. PhD thesis, Université Paris 7, January 1994. Appeared as LIENS technical report.
[8]
Castagna G. Covariance and contravariance: conflict without a cause ACM Transactions on Programming Languages and Systems 1995 17 3 431-447
[9]
Castagna G. A meta-language for typed object-oriented languages Theoretical Computer Science 1995 151 2 297-352
[10]
Canning, P.S., Cook, W.R., Hill, W.L., Mitchell, J., Olthoff, W.G.: F-bounded quantification for object-oriented programming. InACM Conference on Functional Programming and Computer Architecture, September 1989. Also in [GuM94].
[11]
Curien, P. L., Ghelli, G.: Coherence of subsumption, minimum typing and the type checking inF≤. Mathematical Structures in Computer Science, 2(1), 1992.
[12]
Castagna G., Ghelli G., and Longo G. A calculus for overloaded functions with subtyping Information and Computation 1996 117 2 115-135
[13]
Castagna G., Ghelli G., and Longo G. Bezem M. and Groote J.F. A semantics for λ&-early: a calculus with overloading and early binding International Conference on Typed Lambda Calculi and Applications 1993 Utrecht, The Netherlands Springer 107-123
[14]
Chambers, C: Object-oriented multi-methods in Cecil. InECOOP'92, number 615 in LNCS. Springer, 1992.
[15]
Cook, W.R., Hill, W.L., Canning, P.S.: Inheritance is not subtyping.17th Ann. ACM Symp. on Principles of Programming Languages, January 1990.
[16]
Cardelli L. and Longo G. A semantic basis for Quest Journal of Functional Programming 1991 1 4 417-458
[17]
Chambers C. and Leavens G.T. Typechecking and modules for multi-methods ACM Transactions on Programming Languages and Systems 1995 17 6 805-843
[18]
Cardelli L., Martini S., Mitchell J.C., and Scedrov A. An extension of system F with subtyping Information and Computation 1994 109 1/2 4-56
[19]
Compagnoni, A., Pierce, B.C.: Multiple inheritance via intersection types. MSCS to appear.
[20]
Castagna G. and Pierce B.C. Decidable bounded quantification 21 st Annual Symposium on Principles Of Programming Languages 1994 Portland, Oregon ACM Press 151-162
[21]
Castagna G. and Pierce B.C. Corrigendum: Decidable bounded quantification 22nd Annual Symposium on Principles Of Programming Languages 1995 San Francisco ACM Press
[22]
Cardelli L. and Wegner P. On understanding types, data abstraction, and polymorphism Computing Surveys 1985 17 4 471-522
[23]
DeMichiel L.G. and Gabriel R.P. B�zivin, Hullot, Cointe, and Lieberman Common lisp object system overview Proc. of ECOOP '87 European Conference on Object-Oriented Programming 1987 Paris, France Springer 151-170
[24]
Ghelli, G.: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.
[25]
Ghelli, G.: A static type system for message passing. InProc. of OOPSLA '91, 1991.
[26]
Gunter, C.A., Mitchell, J.C.:Theoretical Aspects of Object-Oriented Programming: Types,Semantics, and Language Design. The MIT Press, 1994.
[27]
Hindley, R.: The Church-Rosser property and a result of combinatory logic. Dissertation, 1964. University of Newcastle-upon-Tyne.
[28]
Howard, W.A.: The formulae-as-types notion of construction. In J.R. Hindley and J.P. Seldin, editors,To H.B. Curry: Essays in Combinatory Logic, Lambda Calculus and formalism. Academic Press, 1980.
[29]
Knuth, D.E., Bendix, P.B.: Simple word problems in universal algebras. In J. Leech, editor,Computational Problems in Abstract Algebra, pages 263–297. Pergamon Press, 1970.
[30]
Bertrand Meyer.Object-Oriented Software Construction. Prentice-Hall International Series, 1988.
[31]
Mitchell, J.C., Harper, R.: The essence of ML.15th Ann. ACM Symp. on Principles of Programming Languages, January 1988.
[32]
Newman M.H.A On theories with a combinatorial definition of “equivalence” Annals of Math. 1942 43 2 223-243
[33]
NeXT Computer Inc.NeXTStep-concepts. Chapter 3: Object-Oriented Programming and Objective-C, 2.0 edition, 1991.
[34]
Pierce, B.C.: Bounded quantification is undecidable.Information and Computation, 1993. To appear. Also in [GuM94]. Preliminary version in proceedings of POPL '92.
[35]
Pierce B.C. and Turner D.N. Simple type-theoretic foundations for object-oriented programming Journal of Functional Programming 1994 4 2 207-247
[36]
Rosen B.K. Tree manipulation systems and Church-Rosser theorems Journal of ACM 1973 20 160-187
[37]
Strachey, C.: Fundamental concepts in programming languages. Lecture notes for International Summer School in Computer Programming, Copenhagen, August 1967.

Cited By

View all

Index Terms

  1. Integration of parametric and “ad hoc” second order polymorphism in a calculus with subtyping
    Index terms have been assigned to the content through auto-classification.

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image Formal Aspects of Computing
    Formal Aspects of Computing  Volume 8, Issue 3
    May 1996
    132 pages
    ISSN:0934-5043
    EISSN:1433-299X
    Issue’s Table of Contents

    Publisher

    Springer-Verlag

    Berlin, Heidelberg

    Publication History

    Published: 01 May 1996
    Published in FAC Volume 8, Issue 3

    Author Tags

    1. Type theory
    2. Typed foundation of object-oriented programming
    3. Second order λ-calculus
    4. Bounded polymorphism

    Qualifiers

    • Research-article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)17
    • Downloads (Last 6 weeks)3
    Reflects downloads up to 22 Oct 2024

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Full Access

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media