[Haskell-cafe] Info on dependencies among libs distributed with ghc?

Magnus Therning magnus at therning.org
Mon Apr 21 10:18:34 UTC 2014


On Mon, Apr 21, 2014 at 10:38:51AM +0200, Herbert Valerio Riedel wrote:
> On 2014-04-21 at 07:35:32 +0200, Magnus Therning wrote:
>> On Sun, Apr 20, 2014 at 06:01:33PM -0400, Carter Schonwald wrote:
>>> yup. go crazy :)
>>
>> What other packages that are shipped with Ghc can I update without
>> running into the diamond-dependency problem?
>>
>> Package          | Safe to update
>> =================================
>> Cabal            | ✓
> 
> Problems can arise though, if you install packages which start
> linking against the newer Cabal package, and then you happen to need
> to link those together with the 'ghc' package (which currently
> depends on the Cabal lib bundled with the GHC distro), then you got
> yourself a diamond-dep problem nevertheless

Yes, that would be the diamond-dependency problem, which I'm trying to
avoid!

> If that poses no problem to you, many of the packages listed below
> (except for the wired-in packages, namely: base, ghc-prim,
> integer-gmp, and template-haskell), could be regarded similarly
> "safe to update" (more so in a Cabal sandbox)

It does, since this isn't only my development environment but the
development environment of everyone using the Arch Linux repository I
upload packages to.

> just look at the output of
>  
>  ghc-pkg dot --global | dotty  -
> 
> and look out for those packages that are only depended upon directly
> by GHC (minus the aforementioned wired-in packages)

Well, wouldn't I need to look at the transitive closure of `ghc`
dependencies, since e.g. an upgrade of `array` would trigger a
recompile of `Cabal` which is a dependency of `ghc` (a wired-in
package)?

If I'm reading that graph correctly only packages that have no
incoming arrows and aren't wired-in are safe to upgrade.  That means
only `haskell98` and `haskell2010` would be safe to upgrade.

/M

-- 
Magnus Therning                      OpenPGP: 0xAB4DFBA4 
email: magnus at therning.org   jabber: magnus at therning.org
twitter: magthe               http://therning.org/magnus

Perl is another example of filling a tiny, short-term need, and then
being a real problem in the longer term.
     -- Alan Kay
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20140421/ab1b5176/attachment.sig>


More information about the Haskell-Cafe mailing list