<br><br><div class="gmail_quote">On Mon, Mar 28, 2011 at 6:39 PM, Brandon S Allbery KF8NH <span dir="ltr"><<a href="mailto:allbery.b@gmail.com">allbery.b@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">-----BEGIN PGP SIGNED MESSAGE-----<br>
Hash: SHA1<br>
<br>
</div><div class="im">On 3/28/11 21:29 , Ivan Lazar Miljenovic wrote:<br>
> On 29 March 2011 12:19, Brandon S Allbery KF8NH <<a href="mailto:allbery.b@gmail.com">allbery.b@gmail.com</a>> wrote:<br>
>>> No, my meaning was that the reasoning of "I don't need to specify this<br>
>>> as a dependency since it's part of the Platform" isn't sound since not<br>
>>> everyone has the Platform.<br>
>><br>
>> The point of the Platform is to provide a baseline. So you *are* saying it<br>
>> is pointless, because you want packages to confirm to a different baseline.<br>
><br>
> My impression that the Platform was a baseline in regards to "what do<br>
> I need to get started to develop with Haskell?", and not in terms of<br>
> specifying dependencies. After all, we still need to specify a<br>
> dependency on `base' in .cabal files, even though it comes with GHC<br>
> and other compilers (let alone the Platform)?<br>
<br>
</div>And it regularly causes annoying dependency issues, including causing cabal<br>
to regularly do diamond dependencies.<br>
<br>
Somehow the Haskell community is hellbent on repeating the mistakes every<br>
other community learned about the hard way years ago, especially in the area<br>
of dependencies (first refusing to acknowledge the need for upper dependency<br>
limits, more recently trying to avoid adding an epoch — and I'm not counting<br>
how packages included with the compiler but not recognized as such by Cabal<br>
lead directly to Cabal introducing diamond dependency failures). Is this<br>
*really* necessary, or should those of us who've seen it before just sit<br>
back and watch you all ram your heads against the same brick walls?<br></blockquote><div><br></div><div>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.</div>
<div><br></div><div>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.</div>
<div><br></div><div>Just my $0.02,</div><div>Jason</div></div>