Polytypic Programming

Publication date

1996

Authors

Jeuring, J.T.
Jansson, P.

Editors

Advisors

Supervisors

DOI

Document Type

Preprint
Open Access logo

License

Abstract

Many functions have to be written over and over again for different datatypes, either because datatypes change during the development of programs, or because functions with similar functionality are needed on different datatypes. Examples of such functions are pretty printers, debuggers, equality functions, unifiers, pattern matchers, rewriting functions, etc. Such functions are called polytypic functions. A polytypic function is a function that is defined by induction on the structure of user-defined datatypes. This paper introduces polytypic functions, and shows how to construct and reason about polytypic functions. A larger example is studied in detail: poly-typic functions for term rewriting and for determining whether a collection of rewrite rules is normalising.

Keywords

Citation