
Hi JP, the DData library seems a good and clean set of collection implementations. If it was augmented with classes, one could get rid of the "Set." etc prefixes and separate interface from implementation. Prelude types (e.g. lists) should then be instances of the appropriate classes too. Is that what you're attempting? If yes, how far along the way are you? Best, -Stefan JP Bernardy wrote:
Hi,
--- Stefan Reich
wrote: Hi everybody,
is there a Haskell collections framework suitable for practical use?
There's the Edison framework. From what I understand, it is currently in a zombie state of development. I understand it is maintained as part of the Haskell Foundation Library.
http://sourceforge.net/projects/hfl/
I searched the Net and didn't really find anything. I'm growing tired of remembering the various (and partially inconsistent) function names for lists, sets, finite maps, arrays, ... For starters, take lookup and lookupFM, which differ in argument order.
I'm currently working on a proposal to integrate a better collection library in the standard hierarchy. It consists to "uniformise" the DData library by Daan Leijen. Check its interface/doc at
http://users.skynet.be/jyp/DData/doc/index.html
The source code is available too.
http://users.skynet.be/jyp/DData/ddata.tar.gz
Any comment is more than welcome. (I cound't resist to advertise :)
Such a framework will probably have to use GHC extensions (Collects c e | c -> e), which is fine for me.
If there is no such framework, it is high time to write one!
My proposal does not rely on classes. (Edison does) This, because there is no general agreement on the best framework. Besides, it might be needed to re-think already well established parts of the standard: arrays, and maybe lists.
Check the libraries list archive for the recent thread "DData in hierachical libraries". (Which list would suit better this one thread I think)
Cheers, JP.