On 2015-03-23, at 09:52, Simon Peyton Jones <simo...@microsoft.com> wrote:

> The point is that I may need to install a bunch of packages to build a 
> program.  If I’m using Cabal, none of those newly installed packages need be 
> exposed; I simply need them there so I can compile my program (using Cabal).  
>  But at the moment I can’t do that.

Do you mean that you may need to install a bunch of packages to build a 
_build-tool_ (such as alex, happy, c2hs, cpps…), in order to compile your 
program?

If yes, then one way to avoid having these packages pollute your build 
environment is building each Haskell program in a separate sandbox.

There are some tools which attempt to simplify this process.  Halcyon goes a 
bit further — 

Halcyon allows you to declare other Haskell programs to be installed as 
build-time (or run-time!) dependencies for your program.  If needed, they will 
be built on-the-fly; otherwise, they will be restored from previously-built 
archives.

This works around long-standing cabal-install issues:
https://github.com/haskell/cabal/issues/220
https://github.com/haskell/cabal/issues/779

See the Haskell Language source code for an example:
https://halcyon.sh/examples/#haskell-language

See the Halcyon reference for details:
https://halcyon.sh/reference/#halcyon_sandbox_extra_apps
https://halcyon.sh/reference/#halcyon_extra_apps


-- 
Miëtek
https://mietek.io


Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
Haskell-platform mailing list
Haskell-platform@projects.haskell.org
http://projects.haskell.org/cgi-bin/mailman/listinfo/haskell-platform

Reply via email to