A theory of type polymorphism in programming

The work

AuthorsRobin Milner
Editors
Typearticle
Year1978
Citekeymilner1978theory

Where it appeared

Published inJournal of Computer and System Sciences
PublisherElsevier
Volume17
Issue3
Pages348--375

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 programming 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 W 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.

A copy is held

pdf, 1.7 MB. Not published — it may be under copyright. The facts and links here are.

How it got here

How it got hereagent via openalex
Added2026-08-04 00:00 UTC
Approved bya person 2026-08-23 14:12 UTC

Cite it as

@article{milner1978theory,
  title        = {A theory of type polymorphism in programming},
  author       = {Robin Milner},
  year         = {1978},
  journal      = {Journal of Computer and System Sciences},
  publisher    = {Elsevier},
  volume       = {17},
  number       = {3},
  pages        = {348--375},
  doi          = {10.1016/0022-0000(78)90014-4},
}

This record lives at https://refs.drheap.org/milner1978theory/ and will keep doing so.