Changing the -package dependency resolution algorithm

John Lato jwlato at
Thu Jul 24 23:52:12 UTC 2014

How would this work with ghci?  If I'm understanding correctly, the
proposal means users could no longer do:

  $ ghci SomeFile.hs

and have it work without manually specifying all -package flags.  Did I
miss something?

I think it would work in conjuction with the package environments stuff,
provided that were available on all platforms ghc supports.

John L.

On Thu, Jul 24, 2014 at 11:12 PM, Edward Z. Yang <ezyang at> wrote:

> Excerpts from Edward Z. Yang's message of 2014-07-24 15:57:05 +0100:
> > - It assumes *-hide-all-packages* at the beginning.  This scheme
> >   probably works less well without that: now we need some consistent
> >   view of the database to start with.
> Actually, thinking about this, this dovetails nicely with the "package
> environments" work the IHG is sponsoring.  The idea behind a package
> environment is you specify some set of installed package IDs, which
> serves as the visible slice of the package database which is used for
> compilation.  Then, ghc called without any arguments is simply using
> the *default* package environment.
> Furthermore, when users install packages, they may or may not decide
> to add the package to their global environment, and they can be informed
> if the package is inconsistent with a package that already is in their
> environment (mismatched dependencies).  A user can also request to
> upgrade a package in their environment, and Cabal could calculate how
> all the other packages in the environment would need to be upgraded
> in order to keep the environment consistent, and run this plan for the
> user.
> Cheers,
> Edward
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the ghc-devs mailing list