Alan Zimmerman edited this page Mar 21, 2014 · 8 revisions
Clone this wiki locally

Welcome to the HaRe wiki!

Build Status

HaRe has been ported to GHC, it currently compiles with GHC 7.4.2 and GHC 7.6.3. It provides full support for haskell2010.

The work is currently taking place in the https://github.com/alanz/HaRe/ repository, it should move into the main repo once it stabilises.

HaRe can be installed from hackage.

The IRC channel for developers is #haskell-refactorer on freenode.

Please note that this work is in progress, and there are even fewer guarantees than usual. I strongly suggest you do not apply refactorings to any code you care about, unless you have a version control system backing you up and you commit often.

Current refactorings supported are

  • rename (most tested)
  • dupdef - duplicate a definition
  • demote - push a declaration down one level
  • liftOneLevel - lift a declaration one level up
  • liftToTopLevel - as expected
  • ifToCase - convert an if statement to a case statement

The effort to date has been to get the basic internal architecture solid, so that it can be used to port the balance of the refactorings from the original. This point has basically been reached, and more refactorings will be coming.

A first pass vim integration can be found at https://github.com/dag/vim-hare

There is also a Google+ community called HaRe, at https://plus.google.com/u/0/communities/116266567145785623821