MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

A theory of type polymorphism in programming (1978) [808 citations — 0 self]

by Robin Milner
Journal of Computer and System Sciences
Add To MetaCart

Abstract:

The aim of this work is largely a practical one. A widely employed style of programming, particularly in structure-processing languages which impose no discipline of types, entails defining procedures which work well on objects of a wide variety. We present a formal type discipline for such polymorphic procedures in the context of a simple pro-gramming language, and a compile time type-checking algorithm w which enforces the discipline. A Semantic Soundness Theorem (based on a formal semantics for the language) states that well-type programs cannot “go wrong ” and a Syntactic Soundness Theorem states that if fl accepts a program then it is well typed. We also discuss extending these results to richer languages; a type-checking algorithm based on w is in fact already implemented and working, for the metalanguage ML in the Edinburgh LCF system, 1.

Citations

768 A machine-oriented logic based on the resolution principle – Robinson - 1965
306 Towards a theory of type structure – Reynolds - 1974
171 A powerdomain construction – Plotkin - 1976
169 Data types as lattices – Scott - 1976
138 The Next 700 Programming Languages – Landin - 1966
132 Fundamental Concepts in Programming Languages – Strachey - 1967
117 Syntactic control of interference – Reynolds - 1978
113 The principal type-scheme of an object in combinatory logic – Hindley - 1969
111 Lambda Calculus Models of Programming Languages – Morris - 1982
91 Towards a mathematical semantics for computer languages – Scott, Strachey - 1971
90 Recursive Programming Techniques – Burge - 1975
47 Report on the programming language Euclid – Lampson, Horning, et al. - 1977
16 Programming with abstract data types – Zilles - 1974
11 A metalanguage for interactive proof – Gordon, Milner, et al. - 1978
11 Abstraction and Verification in Alphard: Introduction to Language and Methodology – Wulf, London, et al. - 1976
8 Wijngaarden et al. Revised Report on the Algorithmic Language ALGOL 68 – van - 1975
6 Models of LCF – Milner - 1973
6 Lattice Theoretic Models for Various Type-free Calculi – Scott - 1972
1 Some ideas on data type in high-level lcnguages – GRIES, GEHANI - 1977
1 Data types as objects – SHAMIR, WADGE - 1977
1 On a new approach to representation-independent data classes – TENNENT - 1977
1 The treatment of types in ELl – WEGBREIT - 1974