language-elm-0.1.1.1: test/program1.elm
module Maybe exposing (Maybe(Just, Nothing), andThen, map, map2, map3, map4, map5, withDefault)
type Maybe a
= Nothing
| Just a
withDefault : a -> Maybe a -> a
withDefault default maybe =
case maybe of
Just value ->
value
Nothing ->
default
map : (a -> b) -> Maybe a -> Maybe b
map f maybe =
case maybe of
Just value ->
Just (f value)
Nothing ->
Nothing
map2 : (a -> b -> value) -> Maybe a -> Maybe b -> Maybe value
map2 func ma mb =
case ( ma, mb ) of
( Just a, Just b ) ->
Just (func a b)
_ ->
Nothing
map3 : (a -> b -> c -> value) -> Maybe a -> Maybe b -> Maybe c -> Maybe value
map3 func ma mb mc =
case ( ma, mb, mc ) of
( Just a, Just b, Just c ) ->
Just (func a b c)
_ ->
Nothing