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.
[picture of journal cover]

March 2003 - hosc@brics.dk