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

Iavor Diatchki iavor.diatchki at gmail.com
Tue Jun 3 17:15:04 EDT 2008


> I was referring to base as "the set of Core libraries" - my
> terminology was wrong, but my arguments were written with me thinking
> "containers", so still apply.

You arguments suggest that every module should be in a separate
package.  In my experience this is a bad idea.

> Talking to people on IRC today it appears there is a reasonably large
> design space for a zipper interface. If this is true, then putting a
> zipper in the containers package without some significant real-world
> experience is probably premature.

Could you elaborate on this?  What are the different design choices
that your IRC discussions revealed?  The zipper for trees is a fairly
standard structure so I would be very surprised if the interface
becomes drastically different.  I would grant you that we may want to
add some more functions to the library at some point, but apart from
that the basics really should be much like what Krasimir posted.

> I think that's a real shame. Maintaining a cabal package is relatively
> little effort. I have several packages which are just one module long
> (see for example Safe - which is not only one module, but every
> definition within it is only one line!). With cabal-install, the extra
> effort to install dependencies is literally nothing - its all handled
> automatically. And once you've got some users, and some varied
> experience of using the library, then I think making a library
> proposal would be a good idea.

Mico-managing a slew of different packages is a pain, especially if
you are actually serious about maintaining the packages.  It also
makes finding packages and keeping track of the dependencies between
them hard---cabal-install only helps with downloading the right
packages, and it is not always an option to use it.

But enough general discussions :-)  Do people find any concrete
problems with the zipper implementation?

More information about the Libraries mailing list