Fwd: [Haskell-cafe] Data.Tree.Zipper in the standard libraries

Neil Mitchell ndmitchell at gmail.com
Mon Jun 2 07:11:02 EDT 2008


>> well. The process package seems to have quite different API now. Even
>> if the zipper is in different package then this doesn't mean that we
>> don't have to care about the backward compatibility.

If the package lives on its own, the author is responsible for it. If
you decide you made a mistake in the interface you can change it (I
did this for TagSoup). If you want to provide a backwards compatible
version you provide Data.Zipper.OldVersion (I did this for FilePath).
If you want to move the module you can do so (I did this for Safe). If
you want to add new features you can do so without asking anyone (I
did this for Yhc.Core). If you want to optimise the code you can do so
without asking anyone (I did this for Homeomorphic).

There are many benefits to having a package outside the base library.
In 3 of the above cases being inside the base library would have mean
I just couldn't do what I wanted. In the last 2 cases I would have had
to submit library proposals. I think that new big features live best
in a separate package, at least until a couple of people have played
with them and incrementally improved them. As Hackage improves, the
benefits of being in the base library decrease substantially.



More information about the Libraries mailing list