[Haskell-cafe] (no subject)

Antoine Latter aslatter at gmail.com
Thu Jan 5 19:36:52 CET 2012


On Thu, Jan 5, 2012 at 10:54 AM, Christoph Breitkopf
<chbreitkopf at googlemail.com> wrote:
> Hello,
>
> I'm trying to figure out how to handle versioning of my IntervalMap
> package. I've just read the package versioning
> policy: http://www.haskell.org/haskellwiki/Package_versioning_policy
>
> I don't quite understand all the recommendations in the above document,
> though:
>
> a) You are not allowed to remove or change the types of existing stuff. Ok.
>
> b) You are allowed to add new functions. But that can break compilation
> because of name conflicts. Seems to be allowed on the grounds that this is
> easy to fix in the client code.

This will never break clients who are using qualified imports, or only
importing the symbols they use, which is strongly recommended
behavior.

>
> c) You are not allowed to add new instances. I don't get this - how is this
> any worse than b)?

Unlike adding functions, there is no way for a client of your library
to control which instances they import.

Antoine

>
> I do understand that it is not generally possible to prevent breaking code
> - for example if the client code depends on buggy behavior that gets fixed
> in a minor version update. That seems unavoidable - after all, bugfixes are
> _the_ reason for minor updates.
>
> Regards,
>
> Chris
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>



More information about the Haskell-Cafe mailing list