HaRe: the Haskell Refactorer.

[ 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

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:

  • After renaming, the layout of surrounding do,let,where or of clauses is not adjusted. This can cause problems if the new name is a different length from the old one.

  • liftToTopLevel of a recursive function may introduce parameter errors. e.g. lifting g in the zmapQ function from 'syz-0.2.0.0' Data.Generics.Zipper results in the following

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

becomes

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

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

Modules

[Index]

  • 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

Downloads

Versions [RSS] 0.6, 0.6.0.1, 0.6.0.2, 0.7.0.0, 0.7.0.1, 0.7.0.2, 0.7.0.3, 0.7.0.4, 0.7.0.5, 0.7.0.6, 0.7.0.7, 0.7.0.8, 0.7.0.9, 0.7.1.0, 0.7.1.1, 0.7.1.2, 0.7.1.3, 0.7.1.4, 0.7.1.5, 0.7.1.6, 0.7.1.7, 0.7.2.0, 0.7.2.1, 0.7.2.2, 0.7.2.3, 0.7.2.4, 0.7.2.5, 0.7.2.6, 0.7.2.7, 0.7.2.8, 0.8.0.0, 0.8.1.0, 0.8.1.1, 0.8.2.0, 0.8.2.1, 0.8.2.2, 0.8.2.3, 0.8.3.0, 0.8.4.0, 0.8.4.1
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 (>=0.7.0.0), hslogger, mtl, old-time, parsec, pretty, rosezipper, Strafunski-StrategyLib, syb, syz, time, transformers [details]
License BSD-3-Clause
Author Chris Brown, Huiqing Li, Simon Thompson, Alan Zimmerman
Maintainer Alan Zimmerman
Category Development, Refactoring
Home page http://www.cs.kent.ac.uk/projects/refactor-fp
Bug tracker http://github.com/alanz/HaRe/issues
Source repo head: git clone https://github.com/alanz/HaRe.git
Uploaded by AlanZimmerman at 2013-09-05T19:19:16Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Executables ghc-hare
Downloads 35966 total (83 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user [build log]
All reported builds failed [all 1 reports]