doc comment illustrating Foldable(foldr)
authorRoss Paterson <ross@soi.city.ac.uk>
Thu, 27 May 2010 15:08:33 +0000 (15:08 +0000)
committerRoss Paterson <ross@soi.city.ac.uk>
Thu, 27 May 2010 15:08:33 +0000 (15:08 +0000)
Data/Foldable.hs

index ed05a16..9f7d3e9 100644 (file)
@@ -96,7 +96,12 @@ import Array
 -- >    foldMap f (Node l k r) = foldMap f l `mappend` f k `mappend` foldMap f r
 --
 -- This is suitable even for abstract types, as the monoid is assumed
--- to satisfy the monoid laws.
+-- to satisfy the monoid laws.  Alternatively, one could define @foldr@:
+--
+-- > instance Foldable Tree where
+-- >    foldr f z Empty = z
+-- >    foldr f z (Leaf x) = f x z
+-- >    foldr f z (Node l k r) = foldr f (f k (foldr f z r)) l
 --
 class Foldable t where
         -- | Combine the elements of a structure using a monoid.