hask-replace is a command-line tool that simplifies the process of renaming
Here's an example of how you would use
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.
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
If the script doesn't work, you can also download prebuilt binaries. You can find binaries for various platforms on the release page.
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
|dhall||Rename Module||7.41 ms|
|haskell-src-exts||Rename Module||30.29 ms|
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