[Nix-dev] Reducing haskell closures with multiple outputs

Peter Simons simons at cryp.to
Wed Jan 28 12:08:23 CET 2015

Hi Shea,

 > Have you looked into how we could make haskell closures smaller with
 > multiple outputs?

I briefly thought about it, but I haven't put any actual effort into the
subject yet. It's clear that the first step has to be to multi-output'ify
GHC. It's probably just a matter of figuring out the proper configure flags
to make the compiler install libs, docs, and binaries into separate store
paths. The boost expression [1] might be a good example of how to do that
(i.e. how to create a "ghc" derivation that automatically propagates all
other outputs for sake of convenience). Once we've split GHC into modules,
it shouldn't be hard to modify the generic Haskell builder to do the same
thing with the packages we compile.

It would be great if you (or anyone else) can take a shot at this. My focus
right now is to improve the cabal2nix/hackage2nix utilities, and that's
gonna keep me occupied for the next 2-3 weeks.

Best regards,

[1] https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/boost/generic.nix

More information about the nix-dev mailing list