Data.Foldable documentation

Stephan Friedrichs deduktionstheorem at web.de
Wed Oct 1 12:32:46 EDT 2008


Hello,

I've got a suggestion for the documentation of the Data.Foldable module. 
The documentation [1] does not say anything about the order in which the 
elements are folded. But as far as I understand, the order in which the 
elements are traversed (i. e. the result of Data.Foldable.toList) has to 
bee deterministic. The documentation of the Foldable class IMHO should 
provide a clear statement about that.

Example: I implemented a heap that internally uses a tree of elements. 
It uses a tree to store the elements, but two heaps might be equal 
(contain the same elements) and still be represented by different trees. 
Then

instance Foldable (Heap p) where
     foldMap _ Empty          = mempty
     foldMap f (Tree _ x l r) = foldMap f l `mappend` f x `mappend` 
foldMap f r

is a bug which is not indicated by the documentation.

Thanks in advance
Stephan

[1] using ghc-6.8.3


-- 

Früher hieß es ja: Ich denke, also bin ich.
Heute weiß man: Es geht auch so.

  - Dieter Nuhr


More information about the Libraries mailing list