The HaRe package


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

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. May frighten children and dogs.

Current known defects:

  zmapQ f z = reverse $ downQ [] g z where
       g z' = query f z' : leftQ [] g z'


  zmapQ f z = reverse $ downQ [] (g f g)z

  g f z'g= query f z' : leftQ [] (g f g)g f g)z'


Versions 0.6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Dependencies array, base (>=4.0 && <4.7), cmdtheline (>=0.2.1), containers, directory, filepath, ghc, ghc-mod (>=2.1.2), ghc-paths, ghc-prim, ghc-syb-utils, HaRe (>=, hslogger, mtl, old-time, parsec, pretty, rosezipper, Strafunski-StrategyLib, syb, syz, time, transformers [details]
License BSD3
Author Chris Brown, Huiqing Li, Simon Thompson, Alan Zimmerman
Maintainer Alan Zimmerman
Stability Alpha
Category Development, Refactoring
Home page
Bug tracker
Source repository head: git clone
Uploaded Tue Sep 10 20:31:04 UTC 2013 by AlanZimmerman
Distributions LTSHaskell:, NixOS:, Tumbleweed:
Downloads 7753 total (111 in the last 30 days)
0 []
Status Docs uploaded by user [build log]
All reported builds failed [all 1 reports]


  • Language
    • Haskell
      • Refact
        • Language.Haskell.Refact.Case
        • Language.Haskell.Refact.DupDef
        • Language.Haskell.Refact.MoveDef
        • Language.Haskell.Refact.Renaming
        • Language.Haskell.Refact.SwapArgs
        • Language.Haskell.Refact.Utils
          • Language.Haskell.Refact.Utils.GhcModuleGraph
          • Language.Haskell.Refact.Utils.GhcUtils
          • Language.Haskell.Refact.Utils.GhcVersionSpecific
          • Language.Haskell.Refact.Utils.LocUtils
          • Language.Haskell.Refact.Utils.Monad
          • Language.Haskell.Refact.Utils.MonadFunctions
          • Language.Haskell.Refact.Utils.RenamedSourceUtils
          • Language.Haskell.Refact.Utils.TokenUtils
          • Language.Haskell.Refact.Utils.TokenUtilsTypes
          • Language.Haskell.Refact.Utils.TypeSyn
          • Language.Haskell.Refact.Utils.TypeUtils



Maintainer's Corner

For package maintainers and hackage trustees