; SOCS- Univ. of Tech. Sydney, P.O. Box 123 Broadway, 2007, Australia; di Genova, via Dodecaneso 35, 16146 Genova, Italy
user correction - Legacy Corrections
. 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 ChurchRosser and strongly normalising, and supports type inference. 1 Introduction The interplay between type theory, programming language semantics and category theory is now well established. Two of the strongest examples of this interaction are the representation of function types as exponential objects in a cartesian closed category [LS86] and the description of polymorphic terms as natural transformations (e.g. [BFSS90]). For example, the operation of appending lists can be represented as a natural transformation LL)L where L: D ! D is the list functor on some category D. ...