<font face="verdana,sans-serif">It's not restrictive. Anything that I put on Hackage is open source. If someone finds that it works fine on a previous (or later) version, I accept their patch with a constraint change, and re-release immediately. I just don't like to claim that my package works with major versions of packages that I haven't tested.</font><div class="gmail_extra">
<br><br><div class="gmail_quote">On Fri, Nov 9, 2012 at 12:36 PM, Janek S. <span dir="ltr"><<a href="mailto:fremenzone@poczta.onet.pl" target="_blank">fremenzone@poczta.onet.pl</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">> I usually just take the easy way out and switch to ==0.7.<br>
</div>I see. I guess I don't yet have enough experience in Haskell to anticipate how restrictive is such<br>
a choice.<br>
<span class="HOEnZb"><font color="#888888"><br>
Janek<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
><br>
> On Fri, Nov 9, 2012 at 11:31 AM, Janek S. <<a href="mailto:fremenzone@poczta.onet.pl">fremenzone@poczta.onet.pl</a>> wrote:<br>
> > Thanks Clark! You're method seems good at first but I think I see a<br>
> > problem. So let's say you<br>
> > started with aeson 0.6. As new versions of aeson are released you<br>
> > introduce version ranges, but<br>
> > do you really have a method to determine that your package does indeed<br>
> > work with earlier<br>
> > versions? If you're upgrading aeson and don't have the older versions<br>
> > anymore you can only hope<br>
> > that the code changes you introduce don't break the dependency on earlier<br>
> > versions. Unless I am<br>
> > missing something?<br>
> ><br>
> > Janek<br>
> ><br>
> > Dnia piątek, 9 listopada 2012, Clark Gaebel napisał:<br>
> > > What I usually do is start out with dependencies listed like:<br>
> > ><br>
> > > aeson ==0.6.*<br>
> > ><br>
> > > and then, as your dependencies evolve, you either bump the version<br>
> ><br>
> > number:<br>
> > > aeson ==0.7.*<br>
> > ><br>
> > > or, if you're willing to support multiple version, switch to a range:<br>
> > ><br>
> > > aeson >=0.6 && <= 0.7<br>
> > ><br>
> > > If someone uses a previous version of a library, and wants your library<br>
> ><br>
> > to<br>
> ><br>
> > > support it too (and, preferably, it works out of the box), they'll send<br>
> > > a pull request.<br>
> > ><br>
> > > That's what works for me. Maybe you could use it as a starting point to<br>
> > > find what works for you!<br>
> > ><br>
> > > - Clark<br>
> > ><br>
> > > On Fri, Nov 9, 2012 at 11:15 AM, Janek S. <<a href="mailto:fremenzone@poczta.onet.pl">fremenzone@poczta.onet.pl</a>><br>
> ><br>
> > wrote:<br>
> > > > Recently I started developing a Haskell library and I have a question<br>
> > > > about package dependencies.<br>
> > > > Right now when I need my project to depend on some other package I<br>
> > > > only specify the package name<br>
> > > > in cabal file and don't bother with providing the package version.<br>
> > > > This works because I am the<br>
> > > > only user of my library but I am aware that if the library were to be<br>
> > > > released on Hackage I would<br>
> > > > have to supply version numbers in the dependencies. The question is<br>
> > > > how to determine proper<br>
> > > > version numbers?<br>
> > > ><br>
> > > > I can be conservative and assume that version of libraries in my<br>
> > > > system are the minimum required<br>
> > > > ones. This is of course not a good solution, because my library might<br>
> > > > work with earlier versions<br>
> > > > but I don't know a way to check that. What is the best way to<br>
> ><br>
> > determine a<br>
> ><br>
> > > > minimal version of a<br>
> > > > package required by my library?<br>
> > > ><br>
> > > > I also don't see any sane way of determining maximum allowed versions<br>
> ><br>
> > for<br>
> ><br>
> > > > the dependencies, but<br>
> > > > looking at other packages I see that this is mostly ignored and<br>
> > > > 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>
> ><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>
<br>
<br>
</div></div></blockquote></div><br></div>