projects
/
ghc-base.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
dbe9d53
)
doc comment illustrating Foldable(foldr)
author
Ross Paterson
<ross@soi.city.ac.uk>
Thu, 27 May 2010 15:08:33 +0000
(15:08 +0000)
committer
Ross Paterson
<ross@soi.city.ac.uk>
Thu, 27 May 2010 15:08:33 +0000
(15:08 +0000)
Data/Foldable.hs
patch
|
blob
|
history
diff --git
a/Data/Foldable.hs
b/Data/Foldable.hs
index
ed05a16
..
9f7d3e9
100644
(file)
--- a/
Data/Foldable.hs
+++ b/
Data/Foldable.hs
@@
-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
-- > 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.
--
class Foldable t where
-- | Combine the elements of a structure using a monoid.