The biggest problem is that with each one of these being so short and with so many useful variations, the concepts struggle to cross the "Fairbairn threshold".
I'm all for generalizations! I have a second, very similar function I think should be added, but I don't have a good name for it.
maybe mzero id :: MonadPlus m => Maybe (m a) -> m a
Perhaps there is once again an equivalent for Alternative.
On 2/14/2012 10:24 AM, Edward Kmett wrote:
If you are going to add one then the generalization of your generalization to Alternative might be better.
maybeA = maybe empty pure
On Feb 14, 2012, at 9:55 AM, Jeff Shaw<shawjef3@msu.edu> wrote:
I find myself using this function quite a lot. I believe it should be included in Data.Maybe.
import Control.Monad
maybeTo :: (MonadPlus m) => Maybe a -> m a
maybeTo =
maybe mzero return
_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://www.haskell.org/mailman/listinfo/libraries