On Mon, Mar 28, 2011 at 6:39 PM, Brandon S Allbery KF8NH < [email protected]> wrote:
> -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On 3/28/11 21:29 , Ivan Lazar Miljenovic wrote: > > On 29 March 2011 12:19, Brandon S Allbery KF8NH <[email protected]> > wrote: > >>> No, my meaning was that the reasoning of "I don't need to specify this > >>> as a dependency since it's part of the Platform" isn't sound since not > >>> everyone has the Platform. > >> > >> The point of the Platform is to provide a baseline. So you *are* saying > it > >> is pointless, because you want packages to confirm to a different > baseline. > > > > My impression that the Platform was a baseline in regards to "what do > > I need to get started to develop with Haskell?", and not in terms of > > specifying dependencies. After all, we still need to specify a > > dependency on `base' in .cabal files, even though it comes with GHC > > and other compilers (let alone the Platform)? > > And it regularly causes annoying dependency issues, including causing cabal > to regularly do diamond dependencies. > > Somehow the Haskell community is hellbent on repeating the mistakes every > other community learned about the hard way years ago, especially in the > area > of dependencies (first refusing to acknowledge the need for upper > dependency > limits, more recently trying to avoid adding an epoch — and I'm not > counting > how packages included with the compiler but not recognized as such by Cabal > lead directly to Cabal introducing diamond dependency failures). Is this > *really* necessary, or should those of us who've seen it before just sit > back and watch you all ram your heads against the same brick walls? > While more precise solutions do exist, cabal-dev solves this rather well in practice via sandboxing. I have not run into the diamond dependency issue even once in several months of using cabal-dev regularly. If I were still using plain-old cabal I would have hit it at least a few times and I probably would have blown away my ghc install a few times as well. I think Ivan's point is: When we can be precise about dependencies we should be. I agree that someone using the HP as a dependency might not realize that Alex is part of that. Depending on the HP is a conservative overapproximation. Once we have more precise information, even if redundant in this case, I think it's appropriate to document it as such. The alternative to that, is for Cabal to know what "HP-2011.1" implies in terms of dependencies and to then be able to check for those things. As I far as I can tell, Cabal does not function that way. Just my $0.02, Jason
_______________________________________________ Haskell mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell
