Das Problem, das mir gestellt wurde, lautet wie folgt:
Ähnlich wie bei mapMaybe definieren Sie die Funktion: composeMaybe :: (a->Maybe b) -> (b -> Maybe c) -> (a-> Maybe c) die zwei fehlerauslösende Funktionen zusammensetzt.
Der Typ Maybe a und die Funktion mapMaybe sind wie folgt kodiert:
data Maybe a = Nothing | Just a
mapMaybe g Nothing = Nothing
mapMaybe g (Just x) = Just (g x)
Ich habe versucht, eine Komposition wie diese zu verwenden:
composeMaybe f g = f.g
Aber es lässt sich nicht kompilieren.
Kann mir jemand die richtige Richtung weisen?