<br><br><div class="gmail_quote">On Mon, Mar 28, 2011 at 6:39 PM, Brandon S Allbery KF8NH <span dir="ltr">&lt;<a href="mailto:allbery.b@gmail.com">allbery.b@gmail.com</a>&gt;</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>
&gt; On 29 March 2011 12:19, Brandon S Allbery KF8NH &lt;<a href="mailto:allbery.b@gmail.com">allbery.b@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt; No, my meaning was that the reasoning of &quot;I don&#39;t need to specify this<br>
&gt;&gt;&gt; as a dependency since it&#39;s part of the Platform&quot; isn&#39;t sound since not<br>
&gt;&gt;&gt; everyone has the Platform.<br>
&gt;&gt;<br>
&gt;&gt; The point of the Platform is to provide a baseline.  So you *are* saying it<br>
&gt;&gt; is pointless, because you want packages to confirm to a different baseline.<br>
&gt;<br>
&gt; My impression that the Platform was a baseline in regards to &quot;what do<br>
&gt; I need to get started to develop with Haskell?&quot;, and not in terms of<br>
&gt; specifying dependencies.  After all, we still need to specify a<br>
&gt; dependency on `base&#39; in .cabal files, even though it comes with GHC<br>
&gt; 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&#39;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&#39;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&#39;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&#39;s appropriate to document it as such.  The alternative to that, is for Cabal to know what &quot;HP-2011.1&quot; 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>