maybe.ml

Maybe type with monad implementation

Definitions

Type & Creating / unwrapping

data Maybe a = Nothing | Just a
maybe : a -> Maybe a -> a

Monad implementation

flatMap : (a -> Maybe b) -> Maybe a -> Maybe b
bind : Maybe a -> (a -> Maybe b) -> Maybe b
pure : a -> Maybe a
fmap : (a -> b) -> Maybe a -> Maybe b
mapM : (a -> Maybe b) -> List a -> Maybe (List b)