
On 21 April 2014 20:18, Magnus Therning
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.
What makes Cabal different is that most packages don't have an actually dependency on Cabal (in terms of their code); they just use Cabal to build themselves.
/M
-- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@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
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Ivan Lazar Miljenovic Ivan.Miljenovic@gmail.com http://IvanMiljenovic.wordpress.com