
Hello, At.. http://homepages.nildram.co.uk/~ahey/HLibs/Data.Tree.AVL/ ..you can find the another release of the Data.Tree.AVL library. A few notes about this release: The library is not intended to provide an elegant api or to be a model of what general purpose collection classes should look like. It just aims to provide raw AVL operations as efficiently and flexibly as possible. This version and the Data.COrdering library have had a major purge of 1 line trivia (which I decided were really little more than name space pollution in practice). I'm sure that anybody using it is quite capable of writing whatever trivia they need so I decided to try and restrict myself to the stuff you really don't want to have to write yourself if you can avoid it. So the Map module has been removed completely. This release has also had a Zipper module added, which should be useful for implementing many of those awkward operations not covered by the main library. Earlier (on the libraries list I think), I said I would also include AVL tree based clones of Data.Set and Data.Map. I did start on this but then stopped as I don't think there's any point. The native AVL api is more useful (in my completely biased and not at all humble opinion :-). But these clones are about 75% complete so if somebody really wants them finished I might be persuaded to do this. In the meantime there's are some conversion utilities to convert between AVL trees and Data.Set, Data.Map. The library is not yet cabalised as there are apparently some difficulties using cabal with the ghc -split-objs option (which I use to reduce the bloat of executables). But the makefile enclosed should work OK on *nix environments for ghc 6.4 only (it uses new package descriptions so won't work with earlier ghc versions). The source code should be OK with other Haskells too, but the makefile assumes ghc. I haven't tried building under windows (shouldn't be too hard but makefile would probably need some hacking). I'd like to think this is reasonably complete (and stable) now, but it almost certainly isn't complete. So if anybody has any feature requests please let me know. I've marked the modules as being "stable", so I promise not to introduce any radical api changes or disappearances in future releases. Regards -- Adrian Hey
participants (1)
-
Adrian Hey