HaRe: the Haskell Refactorer.
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 travis-ci.org)
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.
The renaming refactoring seems reasonably reliable.
Current known defects:
liftToTopLevel of a recursive function may introduce parameter errors. e.g. lifting
g
in thezmapQ
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
- Utils
- Language.Haskell.Refact.Utils.DualTree
- Language.Haskell.Refact.Utils.GhcBugWorkArounds
- Language.Haskell.Refact.Utils.GhcModuleGraph
- Language.Haskell.Refact.Utils.GhcUtils
- Language.Haskell.Refact.Utils.GhcVersionSpecific
- Language.Haskell.Refact.Utils.Layout
- Language.Haskell.Refact.Utils.LayoutTypes
- 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
- Language.Haskell.Refact.Utils.Utils
- Refact
- Haskell
- Paths_HaRe
Downloads
- HaRe-0.7.1.4.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates