hask-replace 0.4.0

Rename haskell modules at the speed of Rust
hask-replace-0.4.0 is not a library.

hask-replace

Windows build status Build Status

hask-replace is a command-line tool that simplifies the process of renaming Haskell modules.

The Pitch

Here's an example of how you would use hr:

cabal unpack dhall
cd dhall-1.5.0
hr module . "Dhall.Import" "Dhall.Dependencies"
cabal new-build

As you can see, it's a lot less painful than whatever witchcraft you'd have to resort to to accomplish the same thing in bash. Oh, and it also works for Idris and Elm.

Installation

Script

The easiest way to install for most users is probably via a shell script, viz.

curl -LSfs https://japaric.github.io/trust/install.sh | sh -s -- --git vmchale/hask-replace

Binary releases

If the script doesn't work, you can also download prebuilt binaries. You can find binaries for various platforms on the release page.

Cargo

First, install cargo. Then:

 $ cargo install hask-replace

You will need to use the nightly release for this to work; if in doubt run

rustup run nightly cargo install hask-replace

Performance

Package Task Time
lens Rename module 14.77ms
dhall Rename Module 7.41 ms
haskell-src-exts Rename Module 30.29 ms

Use

hr can also be used on Idris, viz.

git clone https://github.com/HuwCampbell/idris-lens.git
cd idris-lens
hr idris . Control.Lens.Maths Control.Lens.Math
idris --build lens.ipkg