A Haskell 2010 refactoring tool. HaRe supports the full Haskell 2010 standard, through making use of the GHC API.

Version 0.7.2.8 supports up to GHC 7.6.3.

There is no support for GHC 7.8.x. There will never be support for GHC 7.8.x

From version 0.8.0.0, GHC 7.10.2 is supported.

From version 0.8.3.0, GHC 8.0.1 is supported.

From version 0.8.4.0, GHC 8.0.2 is supported.

It is tested against GHC 7.10.3, GHC 8.0.1 and GHC 8.0.2 (via travis-ci.org)

It currently only has emacs integration built in, community input welcome for others.

HaRe attempts to operate in a safe way, by first writing new files with proposed changes, and only swapping these with the originals when the change is accepted. In the process the original file is renamed to have the current date/time as a suffix. Thus it should be possible to (manually) undo changes.

Even so, it is strongly advised to back up any source files before refactoring, as we can make no promises as to the reliability of this tool. Use at your own risk.

At the moment parsing of any file with FFI exports will fail.

See Language.Haskell.Refact.HaRe for the current list of refactorings supported