Achim Schneider <[EMAIL PROTECTED]> wrote:

> zeroIf :: MonadPlus m => (a -> Bool) -> m a -> m a
> zeroIf f m = m >>= (\nz -> if f nz then mzero else m)
> 
> zeroZero :: (MonadPlus m, Num a) => m a -> m a
> zeroZero = zeroIf (==0)
> 
> makes it interesting again as you can't construct a Just value with
> it.

d'oh. return nz.

/me hides under a monad.

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to