The HaRe package

[ Tags: bsd3, development, refactoring ] [ Propose Tags ]

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

It is tested against GHC 7.4.x and 7.6.x (via

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

Warning: This is alpha code. Always commit code to your version control system before refactoring. The developers make no warranties, use at your own risk.

Despite the disclaimer, 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.

The renaming refactoring seems reasonably reliable, as does lifting and demoting

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


Versions 0.6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Change log ChangeLog
Dependencies array, base (>=4.0 && <4.7), containers, directory, dual-tree, filepath, ghc, ghc-mod (>=4.1.0), ghc-paths, ghc-prim, ghc-syb-utils, HaRe (>=, hslogger, monoid-extras, mtl, old-time, parsec, pretty, rosezipper, semigroups, Strafunski-StrategyLib, syb, syz, time, transformers [details]
License BSD3
Author Chris Brown, Huiqing Li, Simon Thompson, Alan Zimmerman
Maintainer Alan Zimmerman
Category Development, Refactoring
Home page
Bug tracker
Source repo head: git clone
Uploaded Fri May 2 11:07:21 UTC 2014 by AlanZimmerman
Distributions NixOS:
Executables ghc-hare
Downloads 15260 total (205 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Successful builds reported [all 1 reports]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees