[Haskell-cafe] elementary Maybe Monad problem .. sigh

Luke Palmer lrpalmer at gmail.com
Thu May 1 20:50:54 EDT 2008


2008/5/2 Galchin, Vasili <vigalchin at gmail.com>:
>
> data Bozo =
>     Bozo {
>       id :: Int
>     }
>
> bonzo :: Maybe Bozo -> IO ()
> bonzo   maybe_bozo = do
>    if maybe_bozo == (Just (Bozo  x))
>       then
>          return ()
>       else
>          return ()

bonzo maybe_bozo =
    case maybe_bozo of
        Just (Bozo x) -> return ()
        _             -> return ()

Or equivalently:

bonzo (Just (Bozo x)) = return ()
bonzo _               = return ()

You should watch out for your use of id as a field name, since id is a
builtin function and you will get ambiguity errors.

Luke


More information about the Haskell-Cafe mailing list