Abstract:
type: A data type whose nature is kept hidden, in such a way that only a predetermined collection of operations can operate on it. Contravariant: A type that varies in the inverse direction from one of its parts with respect to subtyping. The main example is the contravariance of function types in their domain. For example, assume A BC. Thus XC varies in the inverse direction of X. Covariant: A type that varies in the same direction as one of its parts with respect to subtyping. For example, assume A<:B and vary X from A to B in DX; we obtain DA <: DB. Thus DX varies in the same direction as X. Derivation: A tree of judgments obtained by applying the rules of a type system. Dynamic checking. A collection of run time tests aimed at detecting and preventing forbidden errors. Dynamically checked language: A language where good behavior is enforced during execution. Explicitly typed language: A typed language where types are part of t...
Citations
|
1415
|
The Definition of Standard ML
– Milner, Tofte, et al.
- 1990
|
|
1295
|
The C++ Programming Language
– Stroustrup
- 1991
|
|
806
|
A Theory of Type Polymorphism in Programming
– Milner
- 1978
|
|
719
|
On understanding types, data abstraction, and polymorphism
– Cardelli, Wegner
- 1985
|
|
415
|
A syntactic approach to type soundness
– Wright, Felleisen
- 1994
|
|
279
|
Subtyping recursive types
– Amadio, Cardelli
- 1993
|
|
278
|
Types, abstraction and parametric polymorphism
– Reynolds
- 1983
|
|
264
|
Proofs and Types
– Girard, Taylor, et al.
- 1989
|
|
251
|
Foundations for Programming Languages
– Mitchell
- 1996
|
|
251
|
Abstract types have existential type
– Mitchell, Plotkin
- 1988
|
|
234
|
Semantics of Programming Languages: Structures and Techniques. Foundations of Computing
– Gunter
- 1992
|
|
191
|
Type inclusion constraints and type inference
– Aiken, Wimmers
- 1993
|
|
182
|
Notes on Structured Programming
– Dijkstra
- 1972
|
|
133
|
Type systems for programming languages
– Mitchell
- 1990
|
|
103
|
Type inference for polymorphic references
– Tofte
- 1990
|
|
100
|
Bounded quantification is undecidable
– Pierce
- 1994
|
|
97
|
Sound polymorphic type inference for objects
– Eifrig, Smith, et al.
- 1995
|
|
68
|
Basic polymorphic typechecking
– Cardelli
- 1987
|
|
64
|
Coercion and Type Inference
– Mitchell
- 1984
|
|
56
|
Coherence of subsumption, minimum typing and the type checking
– Curien, Ghelli
- 1992
|
|
49
|
Efficient inference of object types
– Palsberg
- 1995
|
|
40
|
editors. Theoretical aspects of object-oriented programming
– Gunter, Mitchell
- 1994
|
|
36
|
The structure of Typed Programming Languages
– Schmidt
- 1994
|
|
34
|
Extensible records in a pure calculus of subtyping
– Cardelli
- 1994
|
|
11
|
From Modula to Oberon and the Programming Language Oberon
– Wirth
- 1987
|
|
8
|
Automatic synthesis of typed l-programs on term algebras
– Bhm, Berarducci
|
|
8
|
user manual and report, second edition
– Jensen, Pascal
- 1978
|
|
6
|
Towards a theory of type structure. Proc. Colloquium sur la programmation
– Reynolds
- 1974
|
|
6
|
Revised report on the algorithmic language Algol68
– Wijngaarden, ed
- 1976
|
|
5
|
Logical Foundations of Functional Programming
– Huet
- 1990
|
|
4
|
The ten commandments for C programmers (annotated edition). Available on the World Wide Web
– Spencer
|
|
4
|
Apple Computers. Object Pascal Report
– Tesler
- 1985
|
|
3
|
Typability and type checking in the second-order l-calculus are equivalent and undecidable
– Wells
- 1994
|
|
3
|
to programming languages, rich type systems were pioneered in the period between the development of Algol and the establishment of structured programming
– Closer
|