LISP and Symbolic Computation, 3(4)381-409
Conjunction-Type Standard ML Polymorphism
R. Ghosh-Roy, Room Number 4B.526, Department of Computer Science, University of Essex, Wivenhoe Park, Colchester CO4 3SQ, Essex, England, UK
Abstract: It has been long argued that the well known Milner
type inference system implemented in the programming language Standard
ML is inadequate [4]. The arguments were presented on the basis of
intersection-type inference systems [3]. However no algorithm has been
developed. The intersection-type inference systems are closed under
r'-equality [1] and has been proved undecidable [7]. The paper
presents a new type inference system using conjunction-types which
extends the notion of intersection-types. The algorithm presented in
the author's previous paper [9] is easily adoptable into the Standard
ML. In this paper we shall discuss the features of the system and its
semantic soundness. Unlike the intersection-type inference systems,
the conjunction-type inference system is:
1. decidable
2. semantically sound for all types
3. semantically sound and complete for basic types.
|
This article is not available online.
|
|