
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 1/7/11 21:56 , Tony Morris wrote:
I am wondering if it possible to generalise catMaybes:
(Something f, SomethingElse t) => t (f a) -> t a
I have being doing some gymnastics with Traversable and Foldable and a couple of other things from category-extras to no avail. Perhaps someone else's brain is molded into an appropriate shape to reveal an answer!
Looks to me like you want something like:
mtraverse :: (Traversable t, Monoid m) => t m -> m mtraverse xs = traverse mappend (mempty:xs)
or possibly the same kind of thing using MonadPlus instead of Monoid. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe - -- brandon s. allbery [linux,solaris,freebsd,perl] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk0n20AACgkQIn7hlCsL25V0MACeIJjbHmIjnABHxpykeVdcZ62f fS0AoL2xet/PpuvyuioWNvbzCTqWz5Z/ =2HGT -----END PGP SIGNATURE-----