Задача, которую мне дали, говорит об этом:
Аналогично mapMaybe, определите функцию: composeMaybe :: (a->Maybe b) -> (b -> Maybe c) -> (a-> Maybe c), которая объединяет две функции, вызывающие ошибку.
Тип Maybe a и функция mapMaybe закодированы следующим образом:
data Maybe a = Nothing | Just a
mapMaybe g Nothing = Nothing
mapMaybe g (Just x) = Just (g x)
Я пробовал использовать такую композицию:
composeMaybe f g = f.g
Но не компилируется.
Может ли кто-нибудь указать мне в правильном направлении?