• Documents
  • Authors
  • Tables
  • Log in
  • Sign up
  • MetaCart
  • DMCA
  • Donate

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

DMCA

On understanding types, data abstraction, and polymorphism (1985)

Cached

  • Download as a PDF

Download Links

  • [www.cs.wpi.edu]
  • [www.cse.ohio-state.edu]
  • [www.windley.com]
  • [ldc.usb.ve]
  • [classes.eclab.byu.edu]
  • [lampwww.epfl.ch]
  • [lal.cs.byu.edu]
  • [www.informatik.uni-rostock.de]
  • [www.list.org]
  • [www.csee.umbc.edu]
  • [www.csee.umbc.edu]
  • [www.csee.umbc.edu]
  • [www.cs.colorado.edu]
  • [www.csc.calpoly.edu]
  • [www.cs.colorado.edu]
  • [csc.lsu.edu]
  • [www-plan.cs.colorado.edu]
  • [www.cs.uga.edu]
  • [ecee.colorado.edu]
  • [ecee.colorado.edu]
  • [www-plan.cs.colorado.edu]
  • [www.csc.lsu.edu]
  • [phobos.ramapo.edu]
  • [www.csc.lsu.edu]
  • [lucacardelli.name]
  • [www.few.vu.nl]
  • [www.cs.uga.edu]
  • [www.few.vu.nl]
  • [research.microsoft.com]
  • [www.cs.unc.edu]
  • [ropas.snu.ac.kr]
  • [lucacardelli.name]

  • Other Repositories/Bibliography

  • DBLP
  • Save to List
  • Add to Collection
  • Correct Errors
  • Monitor Changes
by Luca Cardelli , Peter Wegner
Venue:ACM COMPUTING SURVEYS
Citations:845 - 13 self
  • Summary
  • Citations
  • Active Bibliography
  • Co-citation
  • Clustered Documents
  • Version History

BibTeX

@ARTICLE{Cardelli85onunderstanding,
    author = {Luca Cardelli and Peter Wegner},
    title = {On understanding types, data abstraction, and polymorphism},
    journal = {ACM COMPUTING SURVEYS},
    year = {1985},
    volume = {17},
    number = {4},
    pages = {471--522}
}

Share

Facebook Twitter Reddit Bibsonomy

OpenURL

 

Abstract

Our objective is to understand the notion of type in programming languages, present a model of typed, polymorphic programming languages that reflects recent research in type theory, and examine the relevance of recent research to the design of practical programming languages. Object-oriented languages provide both a framework and a motivation for exploring the interaction among the concepts of type, data abstraction, and polymorphism, since they extend the notion of type to data abstraction and since type inheritance is an important form of polymorphism. We develop a λ-calculus-based model for type systems that allows us to explore these interactions in a simple setting, unencumbered by complexities of production programming languages. The evolution of languages from untyped universes to monomorphic and then polymorphic type systems is reviewed. Mechanisms for polymorphism such as overloading, coercion, subtyping, and parameterization are examined. A unifying framework for polymorphic type systems is developed in terms of the typed λ-calculus augmented to include binding of types by quantification as well as binding of values by abstraction. The typed λ-calculus is augmented by universal quantification to model generic functions with type parameters, existential quantification and packaging (information hiding) to model abstract data types, and

Keyphrases

data abstraction    understanding type    polymorphic type system    typed calculus    recent research    simple setting    untyped universe    unifying framework    universal quantification    generic function    type parameter    information hiding    practical programming language    production programming language    important form    object-oriented language    type inheritance    polymorphic programming language    calculus-based model    abstract data type    type theory    existential quantification    type system   

Powered by: Apache Solr
  • About CiteSeerX
  • Submit and Index Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2019 The Pennsylvania State University