By the same authors

Automated Generalisation of Function Definitions

Research output: Contribution to conferencePaper



Publication details

DatePublished - 1 Nov 1999
Original languageUndefined/Unknown


We address the problem of finding the common generalisation of a set of Haskell function definitions so that each function can be defined by partial application of the generalisation. By analogy with unification, which derives the it most general common specialisation of two terms, we aim to infer the it least general common generalisation. This problem has a unique solution in a first-order setting, but not in a higher-order language. We define a smallest minimal common generalisation which is unique and consider how it might be used for automated program improvement. The same function can have many definitions; we risk over-generalisation if equality is not recognised. A normalising rewrite system is used before generalisation, so many equivalent definitions become identical. The generalisation system we describe has been implemented in Haskell.

Discover related content

Find related publications, people, projects, datasets and more using interactive charts.

View graph of relations