Hello,<div><br></div><div>I also completely agree with Bryan&#39;s point which is why I usually don&#39;t add upper bounds on the dependencies of the packages that I maintain---I find that the large majority of updates to libraries tend to be backward compatible, so being optimistic seems like a good idea.</div>
<div><br></div><div>By the way, something I encounter quite often is a situation where two packages both build on Hacakge just fine, but are not compatible with each other.  Usually it goes like this:</div><div><br></div>
<div>  1. Package A requires library X &gt;= V  (typically, because it needs a bug fix or a new feature).</div><div>  2. Package B requires library X &lt; V (typically, because someone added a conservative upper bound that needs to be updated).</div>
<div><br></div><div>Trying to use A and B together leads to failure, which is usually resolved by having to install B manually, and remove it&#39;s upper bound by hand.  This is rather unfortunate, because not only it&#39;s inconvenient but, also, now there is no released version of package B that you can explicitly depend on.</div>
<div><br></div><div>-Iavor</div><div><br></div><div><br><br><div class="gmail_quote">On Mon, Aug 20, 2012 at 7:11 AM, Brent Yorgey <span dir="ltr">&lt;<a href="mailto:byorgey@seas.upenn.edu" target="_blank">byorgey@seas.upenn.edu</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">On Thu, Aug 16, 2012 at 06:07:06PM -0400, Joey Adams wrote:<br>
&gt; On Wed, Aug 15, 2012 at 3:38 PM, Bryan O&#39;Sullivan &lt;<a href="mailto:bos@serpentine.com">bos@serpentine.com</a>&gt; wrote:<br>
&gt; &gt; I propose that the sense of the recommendation around upper bounds in the<br>
&gt; &gt; PVP be reversed: upper bounds should be specified only when there is a known<br>
&gt; &gt; problem with a new version of a depended-upon package.<br>
&gt;<br>
&gt; I, too, agree.  Here is my assortment of thoughts on the matter.<br>
&gt;<br>
&gt; Here&#39;s some bad news: with cabal 1.14 (released with Haskell Platform<br>
&gt; 2012.2), cabal init defaults to bounds like these:<br>
&gt;<br>
&gt;       build-depends:       base ==4.5.*, bytestring ==0.9.*,<br>
&gt;       http-types ==0.6.*<br>
<br>
</div>I&#39;m not sure why you think this is &quot;bad news&quot;.  I designed this to<br>
conform exactly to the current PVP.  If the PVP is changed then I will<br>
update cabal init to match.<br>
<span class="HOEnZb"><font color="#888888"><br>
-Brent<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</div></div></blockquote></div><br></div>