-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Conal Elliott wrote: > -- Standard instance: applicative functor applied to monoid > instance Monoid a => Monoid (IO a) where > mempty = pure mempty > mappend = (*>) > > On second thought, I don't really like (*>), since it's easy to > accidentally > discard a useful value. (I dislike (>>) for the same reason.) Exactly; because they don't make monoids, because (x `mappend` mempty) isn't (x), so mempty isn't a right-identity of mappend, so the instance doesn't follow the monoid laws. Isaac -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGV2hZHgcxvIWYTTURAjlsAJ0fyUrqYAx09neVi2/FN+sUQobEUACfWAph 2WJwISDe/11pg41lcV80uik= =SYQB -----END PGP SIGNATURE----- _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe