Publication View

2 (2007)

Abstract
A polytypic function is a function that can be instantiated on many data types to obtain data type specic functionality. Examples of polytypic functions are the functions that can be derived in Haskell, such as show, read, and (). More advanced examples are functions for digital searching, pattern matching, unication, rewriting, and structure editing. For each of these problems, we not only have to dene polytypic functionality, but also a type-indexed data type: a data type that is constructed in a generic way from an argument data type. For example, in the case of digital searching we have to dene a search tree type by induction on the structure of the type of search keys. This paper shows how to de ne type-indexed data types, discusses several examples of type-indexed data types, and shows how to specialize typeindexed data types. The specialization is illustrated with example translations to Haskell. This specialization is also used in the extension of Generic Haskell with a construct for de ning type-indexed data types. 1

Publication details
Download http://citeseerx.ist.psu.edu/viewdoc/summary?doi=?doi=10.1.1.28.9297
Source http://www.cs.uu.nl/~johanj/publications/tidata.ps
Contributors CiteSeerX
Repository CiteSeerX - Scientific Literature Digital Library and Search Engine (United States)
Type text
Language English
Relation 10.1.1.41.125, 10.1.1.39.1243, 10.1.1.30.20, 10.1.1.17.6369, 10.1.1.41.1824, 10.1.1.35.460, 10.1.1.87.1187, 10.1.1.37.8235, 10.1.1.23.7120, 10.1.1.36.5645, 10.1.1.33.7930, 10.1.1.22.8611, 10.1.1.37.2565, 10.1.1.1.7060, 10.1.1.36.4444