This is a catalogue of refactorings for the functional programming language Haskell, some of which are implemented in the Haskell Refactorer, HaRe, built by the Refactoring Functional Programs project.
Items in the catalogue are described by a schema.
The refactorings in the catalogue come in a number of (non-exclusive) categories. A category tends to determine the conditions that will apply to the refactoring being applied successfully. The current categories are:
DataRefacotrings are a particular sort of program transformation. The folding transformation, first described by Burstall and Darlington, is not simply a program to program rewriting; it requires a record of previous definitions of an indentifier in order to be implemented successfully.
Other refactorings that we intend to implement in the Haskell Refactorer, together with some refactoring challenges and not-quite-refactorings, are listed here.