Type inference and type classes

  • Stephen Blott
Conference paper
Part of the Workshops in Computing book series (WORKSHOPS COMP.)


Type classes were developed in association with the lazy functional programming language Haskell [1] to handle overloading since no satisfactory off-the-shelf solution was available. The motivation and description of type classes is given in [2].




Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    P. Hudak, and P. Wadler (editors), Report on the functional programming language Haskell, Technical report YALEU/DCS/RR656, Yale University, Department of Computer Science, November 1988.Google Scholar
  2. [2]
    Phil Wadler and Stephen Blott, How to make ad-hoc polymorphism less ad hoc, In Proceedings of the 16’th Annual Symposium on Principles of Programming Languages, Austin, Texas, January 1989.Google Scholar
  3. [3]
    R. Hindley, The principal type scheme of an object in combinatory logic. In Trans. Am. Math. Soc. 146, pp. 29–60, December 1969.MATHMathSciNetGoogle Scholar
  4. [4]
    R. Milner, A theory of type polymorphism in programming. In J. Comput. Syst. Sci. 17, pp. 348–375, 1978.CrossRefMATHMathSciNetGoogle Scholar
  5. [5]
    L. Damas and R. Milner, Principal type schemes for functional programs. In Proceedings of the 9’th Annual Symposium on Principles of Programming Languages, Albuquerque, N.M., January 1982.Google Scholar
  6. [6]
    Luca Cardelli, Basic polymorphic typechecking, Computing Science tech. report 119, AT and T Bell laboratories, Murray Hill, NJ, 1984.Google Scholar
  7. [7]
    Kevin Hammond, De-Mysticifying type classes, in Proceedings of the 2nd Glasgow FP group workshop, Fraserburgh, Scotland, 1989.Google Scholar
  8. [8]
    S. Blott, Thesis, Computing Science Dept., University of Glasgow, (in preparation).Google Scholar
  9. [9]
    L. Damas, Type assignment in programming languages, Thesis, University of Edinburgh, 1985.Google Scholar
  10. [10]
    J. A. Robinson, A machine orientated logic based on the resolution principal. JACM 12, 1, pp. 23–41, 1965.CrossRefMATHGoogle Scholar
  11. [11]
    V. Breazu, T. Coquand, C. A. Gunter, and S. Scedrov. Inheritance and explicit coercion (preliminary report), V. Breazu, Department of Computer and Information Sciences, University of Pensylvania, Philidelphia, PA 19104, USA. October 1988.Google Scholar

Copyright information

© British Computer Society 1990

Authors and Affiliations

  • Stephen Blott
    • 1
  1. 1.Department of Computing ScienceUniversity of GlasgowUK

Personalised recommendations