[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