projects
/
ghc-base.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
[project @ 2003-06-03 22:26:44 by diatchki]
[ghc-base.git]
/
Control
/
Monad
/
X
/
laws
/
Writer.hs
1
import Prop
2
import Control.Monad.X.WriterT
3
4
listen_return x = listen (return x) === return (x,mempty)
5
listen_bind m1 m2 = listen (m1 >>= m2) === (do (x,w1) <- listen m1
6
(y,w2) <- listen (m2 x)
7
return (y, w1 `mappend` w2))
8
9