On understanding types, data abstraction, and polymorphism

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 languag...

Full description

Bibliographic Details
Main Author: Cardelli, Luca, 1954-
Other Authors: Wegner, Peter
Format: Electronic Article
Language:English
Subjects:
Online Access:Texto completo

MARC

LEADER 00000nma a22000007a 4500
003 AR_CdUFM
005 20210831130651.0
006 m|||||o||d||00| 0
007 cr |||||||||||
008 s1985 us||| |o||||||0| | eng||
040 |a AR_CdUFM   |b spa 
041 |a eng 
100 1 |9 2696  |a Cardelli, Luca,  |d 1954- 
245 1 0 |a On understanding types, data abstraction, and polymorphism  |h [recurso electrónico] /  |c Luca Cardelli, Peter Wegner. 
300 |a 1 recurso en línea (p. 471-522) 
520 |a 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. 
650 4 |a Data abstraction 
650 4 |a Computación 
650 4 |a Understanding type 
650 4 |a Polymorphic type system 
650 4 |a Typed calculus 
700 1 |9 24835  |a Wegner, Peter 
773 |g Vol. 17 No. 4 (1985)  |t Computing Surveys 
856 |u https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.117.695  |y Texto completo 
942 |2    |c ARTDEREVL 
945 |a MEG  |d 2021-08-31 
952 |0 0  |1 0  |2    |4 0  |6 ARTÍCULO_DE_REVISTA_EN_LÍNEA  |7 0  |9 45026  |a MMA  |b MMA  |c Recurso en línea  |d 2021-08-31  |o Artículo de Revista en Línea  |p ARL0024  |r 2021-08-31 00:00:00  |u https://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=7E6E36855A7AB46CC62EADADFDCBA95C?doi=10.1.1.117.695&rep=rep1&type=pdf  |w 2021-08-31  |y ARTDEREVL 
999 |c 20604  |d 20602