Lecture 8: Maybe Monad
*Exercise 8.1
Implement the following function in terms of
map and mapMaybe:
mapListMaybe :: (a -> b) -> [Maybe a] -> [Maybe b]
Exercise 8.2
Implement the following function in terms of
map and mapMaybe:
mapMaybeList :: (a -> b) -> Maybe [a] -> Maybe [b]
*Exercise 8.3
Implement the following function in terms of
andThenMaybe; you may not use pattern matching directly:
joinMaybe :: Maybe (Maybe a) -> Maybe a
Exercise 8.4
Re-implement the following function directly (using
pattern matching, not using andThenMaybe):
joinMaybe :: Maybe (Maybe a) -> Maybe a
And then implement andThenMaybe in terms of
joinMaybe and other *Maybe functions
(you may not use pattern matching directly).