
I was thinking about improving array performance, and was wondering if a transactional model would work well. You would keep a base copy of the array, and any writes would be written to a delta style transaction list. A reference to the array would be the list plus the base array. Different references to the same array would just reference different points in the delta list. The garbage colector would eat the delta list from the tail, merging writes into the base array once references to that part of the list are discarded. Writes would be very fast - just the time to add a delta to the transaction list. Reads would slow down as the transaction list grows, but the list would only be as long as the oldest reference, so providing references to very old copies of the array are not required, the transaction list would remain short. It would be even more efficient if the 'liveness' of references could be checked when writing the array - at the cost of a slight slowdown in write performance. I would be interested in any comments... I suspect somebody has done this before, but I havent looked for any papers yet. Regards Keean Schupke.

MR K P SCHUPKE
I was thinking about improving array performance, and was wondering if a transactional model would work well.
I would be interested in any comments... I suspect somebody has done this before, but I havent looked for any papers yet.
O'Neill and Burton, "A New Method for Functional Arrays", JFP 7(5), 1997. http://citeseer.ist.psu.edu/328736.html Regards, Malcolm

Hi everybody, is there a Haskell collections framework suitable for practical use? 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. 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! Best, -Stefan

Hi,
--- Stefan Reich
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. __________________________________ Do you Yahoo!? Yahoo! Search - Find what you�re looking for faster http://search.yahoo.com

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.
participants (4)
-
JP Bernardy
-
Malcolm Wallace
-
MR K P SCHUPKE
-
Stefan Reich