Thanks
-John
On 1/26/07, Brandon S. Allbery KF8NH <[EMAIL PROTECTED]> wrote:
On Jan 25, 2007, at 9:15 , John Ky wrote:
> Is there a built-in function that already does this?
>
> foo :: (a -> b) -> Maybe a -> Maybe b
> foo f m
> | isNothing m = Nothing
> | otherwise = Just (f (fromJust m)
:t liftM
forall r (m :: * -> *) a1. (Monad m) => (a1 -> r) -> m a1 -> m r
liftM (+2) (Just 3
Just 5
liftM (+2) Nothing
Nothing
(Thanks to allbery_b for contributing to the discussion on #haskell)
On 1/25/07, John Ky <[EMAIL PROTECTED]> wrote:
Is there a built-in function that already does thi
fmap. e.g.:
Prelude> fmap ('c':) (Just "a")
Just "ca"
Prelude> fmap ('c':) Nothing
Nothing
Prelude>
/g
On 1/25/07, John Ky <[EMAIL PROTECTED]> wrote:
Is there a built-in function that already does this?
foo :: (a -> b) -> Maybe a -> Maybe b
foo f m
| isNothing m = Nothing
| otherwise = J
On Jan 25, 2007, at 9:15 , John Ky wrote:
Is there a built-in function that already does this?
foo :: (a -> b) -> Maybe a -> Maybe b
foo f m
| isNothing m = Nothing
| otherwise = Just (f (fromJust m))
Nothing specific to Maybe, because the more general liftM (over
monads) or fmap (over
Is there a built-in function that already does this?
foo :: (a -> b) -> Maybe a -> Maybe b
foo f m
| isNothing m = Nothing
| otherwise = Just (f (fromJust m))
*Main> foo (+2) (Just 3)
Just 5
*Main> foo (+2) Nothing
Nothing
If so what is it?
If not, what should I call it?
Thanks
-John
_