<font face="verdana,sans-serif">What I usually do is start out with dependencies listed like:<br><br></font><div><font face="verdana,sans-serif">aeson ==0.6.*</font></div><div><font face="verdana,sans-serif"><br></font></div>

<div><font face="verdana,sans-serif">and then, as your dependencies evolve, you either bump the version number:</font></div><div><font face="verdana,sans-serif"><br></font></div><div><font face="verdana,sans-serif">aeson ==0.7.*</font></div>

<div><font face="verdana,sans-serif"><br></font></div><div><font face="verdana,sans-serif">or, if you&#39;re willing to support multiple version, switch to a range:</font></div><div><font face="verdana,sans-serif"><br></font></div>

<div><font face="verdana,sans-serif">aeson &gt;=0.6 &amp;&amp; &lt;= 0.7</font></div><div><br></div><div><font face="verdana, sans-serif">If someone uses a previous version of a library, and wants your library to support it too (and, preferably, it works out of the box), they&#39;ll send a pull request.</font></div>

<div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">That&#39;s what works for me. Maybe you could use it as a starting point to find what works for you!</font></div><div><font face="verdana, sans-serif"><br>

</font></div><div><font face="verdana, sans-serif">  - Clark</font></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Nov 9, 2012 at 11:15 AM, Janek S. <span dir="ltr">&lt;<a href="mailto:fremenzone@poczta.onet.pl" target="_blank">fremenzone@poczta.onet.pl</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Recently I started developing a Haskell library and I have a question about package dependencies.<br>
Right now when I need my project to depend on some other package I only specify the package name<br>
in cabal file and don&#39;t bother with providing the package version. This works because I am the<br>
only user of my library but I am aware that if the library were to be released on Hackage I would<br>
have to supply version numbers in the dependencies. The question is how to determine proper<br>
version numbers?<br>
<br>
I can be conservative and assume that version of libraries in my system are the minimum required<br>
ones. This is of course not a good solution, because my library might work with earlier versions<br>
but I don&#39;t know a way to check that. What is the best way to determine a minimal version of a<br>
package required by my library?<br>
<br>
I also don&#39;t see any sane way of determining maximum allowed versions for the dependencies, but<br>
looking at other packages I see that this is mostly ignored and package maintainers only supply<br>
lower versions. Is this correct approach?<br>
<br>
Janek<br>
<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>
</blockquote></div><br></div>