Skip to main content
Log in

Conjunction-type standard ML polymorphism

  • Published:
LISP and Symbolic Computation

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β-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. 1.

    decidable

  2. 2.

    semantically sound for all types

  3. 3.

    semantically sound and complete for basic types.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Bakel, Steffen van. Derivations In Type Assignment Systems.Thesis, University of Nijmegen, The Netherlands, (1988).

    Google Scholar 

  2. Barendregt, H. The Lambda Calculus. Its Syntax and Semantics.ISBN 0-444-87508-5, North-Holland Publishing Company, (1981).

  3. Barendregt, H. et al. A Filter Lambda Model And The Completeness of Type Assignment.Journal of Symbolic Logic 48(4, December (1985).

    Google Scholar 

  4. Coppo, M. An Extended Polymorphic Type System For Applicative Languages.Lecture Notes in Computer Science 88, Rydzyna, Poland, September (1980).

  5. Courcelle, B. Fundamental Properties Of Infinite Trees.Theoretical Computer Science 25(95–169, (1983).

    Google Scholar 

  6. Damas, L. M. M. Type Assignment in Programming Languages.CST-33-85, Department of Computer Science, University of Edinburgh, Scotland, April (1985).

    Google Scholar 

  7. Dirven, A. P. M. Composition Of A New Type Assignment Algorithm, using Turino Conjunctions of Curry Types.Thesis, University of Nijmegen, The Netherlands, (1988).

    Google Scholar 

  8. Ghosh-Roy, R. Conjunctional Polymorphism.Proceedings, The Tenth Australian Computer Science Conference, Australia, (1987).

  9. Ghosh-Roy, R., et al. Conjunctional Polymorphism in Programming Languages.Proceedings, The ACM Computer Science Conference, Georgia, USA, February (1988).

  10. Ghosh-Roy, R. Conjunction Type Standard ML Polymorphism.Abstract, The ACM Computer Science Conference, Washington, D.C., USA, February (1990).

  11. MacQueen, D., et al. An Ideal Model for Recursive Polymorphic Types.Information and Control 71(95–130), (1986).

    Google Scholar 

  12. Milner, R. A Theory of Type Polymorphism in Programming.CSR-9-77, University of Edinburgh, Department of Computer Science, (1977).

  13. Reynolds, J. C. Three Approaches to Type Structure.Lecture Notes in Computer Science 185(97–138, (1985).

    Google Scholar 

  14. Robinson, J.A. A Machine Oriented Logic Based on The Resolution Principle.Journal of The Association for Computing Machinery 12, (1965).

  15. Rocca, S. R. D. Principal Type Scheme and Unification for Intersection Type Discipline.Internal Report, Dipartimento di Informatica — Universitdi Torino, Torino, Italy, (1988).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ghosh-Roy, R. Conjunction-type standard ML polymorphism. Lisp and Symbolic Computation 3, 381–409 (1990). https://doi.org/10.1007/BF01807698

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01807698

Keywords

Navigation