MonadWriter instance for ListT  Nicolas Frisby nicolas.frisby at
Fri Mar 12 20:00:30 EST 2010  *> runWriter . runErrorT $ censor
(filter (/=3)) $ tell [1,2,3] >> throwError "" (Left "",[1,2,3])
That's kind of weird, right? I understand why it is that way. I
think this is reason enough to make censor part of the class,
since it wouldn't have this short-coming if it weren't defined
in terms of  *> let censorErrorT f (ErrorT m) = ErrorT (censor f
m) *> runWriter . runErrorT $ censorErrorT (filter (/=3)) $ tell
[1,2,3] >> throwError "" (Left "",[1,2])  Or is it preferable
for censor and pass to misbehave in the same way?  More
information about the Libraries mailing list