ML Typing, Explicit Polymorphism and Qualified Types

The ML type system was originally introduced as a means of identifying a class of terms in a simple untyped language, often referred to as core-ML, whose evaluation could be guaranteed not to “go wrong”. In subsequent work, the terms of core-ML have also been viewed as a ‘convenient shorthand’ for programs in typed languages. Notable examples include studies of ML polymorphism and investigations of overloading, motivated by the use of type classes in Haskell.

[1]  Tobias Nipkow,et al.  Type checking type classes , 1993, POPL '93.

[2]  John C. Mitchell,et al.  On the type structure of standard ML , 1993, TOPL.

[3]  Philip Wadler,et al.  How to make ad-hoc polymorphism less ad hoc , 1989, POPL '89.

[4]  Mark P. Jones A Theory of Qualified Types , 1994, Sci. Comput. Program..

[5]  Mark P. Jones Qualified Types: Theory and Practice , 1994 .

[6]  Robin Milner,et al.  Principal type-schemes for functional programs , 1982, POPL '82.

[7]  Atsushi Ohori,et al.  A simple semantics for ML polymorphism , 1989, FPCA.

[8]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[9]  Simon L. Peyton Jones,et al.  Report on the programming language Haskell: a non-strict, purely functional language version 1.2 , 1992, SIGP.

[10]  Mark P. Jonesy A Theory of Qualiied Types , 1992 .

[11]  John C. Reynolds,et al.  The Coherence of Languages with Intersection Types , 1991, TACS.

[12]  Geoffrey Smith Polymorphic Type Inference for Languages with Overloading and Subtyping , 1991 .

[13]  Geoffrey Smith,et al.  On the Complexity of ML Typability with Overloading , 1991, FPCA.

[14]  Giorgio Ghelli,et al.  Coherence of Subsumption , 1990, CAAP.

[15]  Xavier Leroy,et al.  Polymorphism by name for references and continuations , 1993, POPL '93.

[16]  John C. Mitchell,et al.  Polymorphic Type Inference and Containment , 1988, Inf. Comput..

[17]  Tobias Nipkow,et al.  Type Classes and Overloading Resolution via Order-Sorted Unification , 1991, FPCA.

[18]  Stephen Blott An approach to overloading with polymorphism , 1991 .

[19]  Satish R. Thatte,et al.  Type Inference and Implicit Scaling , 1990, ESOP.

[20]  WadlerPhilip,et al.  Report on the programming language Haskell , 1992 .

[21]  Barney P. Hilken,et al.  Towards a categorical semantics of type classes , 1991, Fundam. Informaticae.

[22]  Thierry Coquand,et al.  Inheritance and explicit coercion , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[23]  J. Roger Hindley,et al.  Introduction to combinators and λ-calculus , 1986, Acta Applicandae Mathematicae.

[24]  Robin Milner,et al.  Definition of standard ML , 1990 .

[25]  Stefan Kaes Type inference in the presence of overloading, subtyping and recursive types , 1992, LFP '92.