The author of edison, Chris Okasaki, wrote a book called "Purely Functional Data Structures" (Cambridge University Press). It goes a long way toward explaining the rationale of many of the structures. On Wed, 31 Jul 2002 paul@theV.net wrote:
Thanks, and it works! Another question is where can I find some documentation on these heap modules? What is the difference between SkewHeap, LazyPairingHeap, SplayHeap, UnbalancedSet, etc?
I couldn't find any in GHC's documentation.
Regards, .paul.
On Tue, Jul 30, 2002 at 11:22:26AM -0700, Brian Huffman wrote:
The Collection module just defines the OrdColl class, without giving any instances for it. To use the Collection module directly, you would have to define one or more instances yourself, something like this:
data Bag a = ... instance OrdColl Bag a where insert a c = ... minElem c = ... ...
But I assume that you don't want to implement your own collection datatype or write your own insert, minElem, etc. Luckily, Edison comes with a few pre-defined instances of OrdColl, each in a separate module. You just have to import the one you want.
Replace the line
import qualified Collection as C with import qualified SkewHeap as C (or LazyPairingHeap, or SplayHeap, or UnbalancedSet) and it should work fine.
Hope this helps. - Brian Huffman
_______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell