This module implements the flatMap
combinator for Maybe
. This allows you to call functions
that return a Maybe
with arguments that are also Maybe
s without having to worry about ending up
with a Maybe (Maybe a)
return type.
For example:
getHeadFromMaybeList : Maybe List -> Maybe a
getHeadFromMaybeList =
flatMap List.head
flatMap : (a -> Maybe b) -> Maybe a -> Maybe b
flatMap2 : (a -> b -> Maybe c) -> Maybe a -> Maybe b -> Maybe c
flatMap3 : (a -> b -> c -> Maybe d) -> Maybe a -> Maybe b -> Maybe c -> Maybe d
flatMap4 : (a -> b -> c -> d -> Maybe e) -> Maybe a -> Maybe b -> Maybe c -> Maybe d -> Maybe e
flatMap5 : (a -> b -> c -> d -> e -> Maybe f) -> Maybe a -> Maybe b -> Maybe c -> Maybe d -> Maybe e -> Maybe f