
Hi,
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? -Iavor