
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