Functorial ML

  • Authors:
  • C. B. Jay;G. Bellè;E. Moggi

  • Affiliations:
  • School of Computing Sciences, University of Technology, Sydney, P.O. Box 123 Broadway, 2007, Australia (e-mail: cbj@socs.uts.edu.au);Dipartimento di Informatica, Università di Genova, via Dodecaneso 35, 16146 Genova, Italy (e-mail: gbelle,moggi@disi.unige.it);Dipartimento di Informatica, Università di Genova, via Dodecaneso 35, 16146 Genova, Italy (e-mail: gbelle,moggi@disi.unige.it)

  • Venue:
  • Journal of Functional Programming
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present an extension of the Hindley–Milner type system that supports a generous class of type constructors called functors, and provide a parametrically polymorphic algorithm for their mapping, i.e. for applying a function to each datum appearing in a value of constructed type. The algorithm comes from shape theory, which provides a uniform method for locating data within a shape. The resulting system is Church–Rosser and strongly normalizing, and supports type inference. Several different semantics are possible, which affects the choice of constants in the language, and are used to illustrate the relationship to polytypic programming.