The HaRe package


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

Version 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, GHC 7.10.2 is supported.

From version, GHC 8.0.1 is supported.

From version, GHC 8.0.2 is supported.

It is tested against GHC 7.10.3, GHC 8.0.1 and GHC 8.0.2 (via

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


Versions 0.6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Change log ChangeLog
Dependencies base (>= && <5), Cabal, cabal-helper, containers, directory, filepath, ghc, ghc-exactprint (==0.5.3.*), ghc-mod (==5.7.0.*), ghc-syb-utils, gitrev (>=1.1), HaRe, hslogger, monad-control, mtl, optparse-applicative, optparse-simple, Strafunski-StrategyLib, syb, syz [details]
License BSD3
Author Chris Brown, Huiqing Li, Simon Thompson, Alan Zimmerman, Stephen Adams
Maintainer Alan Zimmerman (
Stability Alpha
Category Development, Refactoring
Home page
Bug tracker
Source repository head: git clone
Uploaded Sat Feb 11 08:14:08 UTC 2017 by AlanZimmerman
Distributions LTSHaskell:, NixOS:, Stackage:, Tumbleweed:
Downloads 8447 total (66 in the last 30 days)
0 []
Status Docs available [build log]
Last success reported on 2017-02-11 [all 1 reports]




Maintainer's Corner

For package maintainers and hackage trustees