Skip to main navigation Skip to search Skip to main content

A theory of type polymorphism in programming

Robin Milner

Research output: Contribution to journalArticlepeer-review

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.

Original languageEnglish
Pages (from-to)348-375
Number of pages28
JournalJournal of Computer and System Sciences
Volume17
Issue number3
DOIs
Publication statusPublished - Dec 1978

Fingerprint

Dive into the research topics of 'A theory of type polymorphism in programming'. Together they form a unique fingerprint.

Cite this