我得到的问题说:
以类似于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)
Run Code Online (Sandbox Code Playgroud)
我尝试使用这样的组合:
composeMaybe f g = f.g
Run Code Online (Sandbox Code Playgroud)
但它没有编译.
有人能指出我正确的方向吗?