-----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] allb...@kf8nh.com system administrator [openafs,heimdal,too many hats] allb...@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----- _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe