Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A parallel wrapper for 'ghc --make'.
Branch: master
Failed to load latest commit information.
cbits Add 'numberOfProcessors'.
src Fix warning.
tests Unbreak the test suite.
.gitignore Update .gitignore.
.travis.yml Add a .travis.yml file.
GhcParmake.hs Unbreak the test suite.
GhcServer.hs Formatting.
LICENSE Initial commit. README update.
Setup.hs Initial commit.
TODO TODO update.
ghc-parmake.cabal Fill in 'other-extensions'.


Build Status

ghc-parmake is a parallel wrapper for ghc --make intended to work as its drop-in replacement. It can build your Haskell program in parallel using multiple cores and will be integrated with cabal build eventually (though I also plan to support the standalone version).

To use it with cabal, try cabal build --with-ghc=ghc-parmake --ghc-options="-j N".

ghc-parmake works by first extracting a module dependency graph with ghc -M and then running multiple ghc -c processes in parallel. Currently, it can build itself and some small test programs (see the tests directory).

To set the number of concurrent jobs, use the -j option.


ghc-parmake OPTS FILES

-j N             - Run N jobs in parallel.
--ghc-path=PATH  - Set the path to the ghc executable.

-vv[N]           - Set verbosity to N (only for ghc-parmake).
                   N is 0-3, default 1.
-v[N]            - Set verbosity to N (both for GHC and ghc-parmake itself).
--help           - Print usage information.
-V               - Print version information.

Other options are passed to GHC unmodified.

Known limitations

  • Build fails when -odir != -hidir.
  • Tested only on Linux.
Something went wrong with that request. Please try again.