Mark P. Jones
Current Organizations / Institutes
The organizations/institutes from the scholar's latest article
Research Subjects
Latest Publications
- Open Access
- 7 November 2008
- Published by Cambridge University Press (CUP) in Journal of Functional Programming
- Vol. 5 (1) , 1-35
A system of constructor classes: overloading and implicit higher-order polymorphism
This paper describes a flexible type system that combines overloading and higher-order polymorphism in an implicitly typed language using a system of constructor classes —a natural generalization of type classes in Haskell. We present a range of examples to demonstrate the usefulness of such a system. In particular, we show how constructor classes can be used to support the use of monads in a functional language. The underlying type system permits higher-order polymorphism but retains many of the attractive features that have made Hindley/Milner type systems so popular. In particular, there is an effective algorithm that can be used to calculate principal types without the need for explicit type or kind annotations. A prototype implementation has been developed providing, amongst other things, the first concrete implementation of monad comprehensions known to us at the time of writing.
- 7 November 2008
- Published by Cambridge University Press (CUP) in Journal of Functional Programming
- Vol. 5 (1) , 1-35
Open AccessA system of constructor classes: overloading and implicit higher-order polymorphism
This paper describes a flexible type system that combines overloading and higher-order polymorphism in an implicitly typed language using a system of constructor classes —a natural generalization of type classes in Haskell. We present a range of examples to demonstrate the usefulness of such a system. In particular, we show how constructor classes can be used to support the use of monads in a functional language. The underlying type system permits higher-order polymorphism but retains many of the attractive features that have made Hindley/Milner type systems so popular. In particular, there is an effective algorithm that can be used to calculate principal types without the need for explicit type or kind annotations. A prototype implementation has been developed providing, amongst other things, the first concrete implementation of monad comprehensions known to us at the time of writing.
- 1 January 1993
- Published by Springer Nature
- p. 122-133
Programming with Constructor Classes (preliminary summary)
- 1 January 1993
- Published by Springer Nature
- p. 122-133
Programming with Constructor Classes (preliminary summary)