• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

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

Cached

  • Download as a PDF

Download Links

  • [www.cs.wpi.edu]
  • [www.cse.ohio-state.edu]
  • [classes.eclab.byu.edu]
  • [lampwww.epfl.ch]
  • [lal.cs.byu.edu]
  • [www.informatik.uni-rostock.de]
  • [www.list.org]
  • [www.cs.colorado.edu]
  • [www.csc.calpoly.edu]
  • [www.cs.colorado.edu]
  • [csc.lsu.edu]
  • [www-plan.cs.colorado.edu]
  • [www.cs.uga.edu]
  • [lucacardelli.name]
  • [www.few.vu.nl]
  • [www.cs.uga.edu]
  • [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:727 - 14 self
  • Summary
  • 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}
}

Years of Citing Articles

Bookmark

citeulike Connotea Bibsonomy Del.icio.us Digg Reddit

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

Citations

1208 SmallTalk-80: The Language and its Implementation - Goldberg, Robson - 1983
323 Principal type-schemes for functional programs - Damas, Milner - 1982
267 G.D.: Abstract types have existential types - Mitchell, Plotkin - 1988
184 Combinatory Logic - Curry, Feys - 1958
122 An ideal model for recursive polymorphic types - MacQueen, Plotkin, et al. - 1986
87 Galileo: A strongly typed, interactive conceptual language - Albano, Cardelli, et al. - 1985
64 Constructions: A higher order proof system for mechanizing mathematics. volume 203 - Coquand, Huet - 1985
57 A kernel language for abstract data types and modules - Burstall, Lampson - 1984
35 D.Sannella: Hope: an experimental applicative language - Burstall - 1980
34 Software Engineering with - Booch - 1983
21 Intuitionistic type theory: notes by Giovanni Sambin of a series of lectures given - Martin-Löf - 1984
17 manual - Matthews - 1985
15 Software Engineering with Ada - Booch - 1987
9 R.Meyer: The semantics of second order polymorphic lambda calculus - Bruce - 1984
9 J.Donahue: Revised Report on Russell - Demers - 1979
8 Combinators and Functional Programming Languages - Amber - 1985
5 and its type system - Ponder
4 Intuitionistic type theory, Notes by Giovanni Sambin of a series of lectures given at the - Martin-Lf - 1980
4 R.Sweet: Mesa language manual, Xerox PARC - Mitchell - 1979
2 J.D.Ullman: Compilers - Aho - 1985
2 Viewing object-oriented programming as an enhancement of data abstraction methodology - Hendler, Wegner - 1989
2 D.Moon: Lisp machine manual, Fourth Edition, Chapter 20: Objects, message passing - Weinreb - 1981
1 a first attempt, in Sematics of Data Types, G.Kahn, D.B.MacQueen and G.Plotkin Ed - Russell - 1984
1 C.A.R.Hoare: Ambiguities and insecurities - Welsh - 1977
1 Department of Defense: Ada reference manual, ANSI/MIS-STD 1815 - US - 1983
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

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

© 2007-2010 The Pennsylvania State University