
According to a few articles I've read, cabal dependency hell is caused by installing packages with -o, which inlines code from dependant packages. Why isn't this avoided by installing packages without inlining? Packages could still be recompiled with -o in a cabal-dev sandbox, but the package repository would be free of dependency hell.

On Mon, May 27, 2013 at 3:33 PM, harry
According to a few articles I've read, cabal dependency hell is caused by installing packages with -o, which inlines code from dependant packages.
-O, not -o.
Why isn't this avoided by installing packages without inlining? Packages
Because the performance is somewhere between horrible and abysmal. -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

On Tue, May 28, 2013 at 3:37 AM, harry
Brandon Allbery
writes: Why isn't this avoided by installing packages without inlining? Packages ...
Because the performance is somewhere between horrible and abysmal.
Thank you, does this mean that dynamic linking wouldn't work either?
Dynamic linking is an even bigger ball of snakes, yes. :/ A better solution would be nice, but I'm not aware of any magic that can be applied to it. (The GHC devs know a better solution is needed; unfortunately, the best they've come up with is a proposal to build everything against everything else in every possible combination....) Not that there are any better ideas sitting around. Maybe whole program compilation, which would require all libraries to be available in source form (and would make dynamic linking meaningless since every compiled library would be a one-off). -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

The GHC devs know a better solution is needed; unfortunately, the best they've come up with is a proposal to build everything against everything else in every possible combination....
Surely that isn't necessary; it could be done lazily. That is, compile
every combination that is actually demanded by their respective cabal
files. No?
Peter
On 28 May 2013 15:58, Brandon Allbery
On Tue, May 28, 2013 at 3:37 AM, harry
wrote: Brandon Allbery
writes: Why isn't this avoided by installing packages without inlining? Packages ...
Because the performance is somewhere between horrible and abysmal.
Thank you, does this mean that dynamic linking wouldn't work either?
Dynamic linking is an even bigger ball of snakes, yes. :/ A better solution would be nice, but I'm not aware of any magic that can be applied to it. (The GHC devs know a better solution is needed; unfortunately, the best they've come up with is a proposal to build everything against everything else in every possible combination....) Not that there are any better ideas sitting around. Maybe whole program compilation, which would require all libraries to be available in source form (and would make dynamic linking meaningless since every compiled library would be a one-off).
-- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net
_______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners

On Wed, May 29, 2013 at 7:32 PM, Peter Hall
The GHC devs know a better solution is needed; unfortunately, the best they've come up with is a proposal to build everything against everything else in every possible combination....
Surely that isn't necessary; it could be done lazily. That is, compile every combination that is actually demanded by their respective cabal files. No?
That is probably how it would be done, but it still means potentially a combinatorial explosion of libraries, plus a lot of extra building sometimes that you might not expect because "isn't that already built?!". -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net
participants (3)
-
Brandon Allbery
-
harry
-
Peter Hall