如何实现这个Haskell功能?

Dan*_*nyJ 1 haskell

不幸的是我无法实现这个功能,我已经尝试了很多.

f5 ::(ab - > c) - >(a - > c,b - > c)

我试过这个

f5 k _ (Left x)     =  k x
f5 _ u (Right y)    =  u y
Run Code Online (Sandbox Code Playgroud)

提前感谢您的帮助.

4ca*_*tle 7

你实施了

f5 :: (a -> c) -> (b -> c) -> Either a b -> c
Run Code Online (Sandbox Code Playgroud)

你需要做相反的操作.

f5 :: (Either a b -> c) -> (a -> c, b -> c)
f5 f = (f . Left, f . Right)
Run Code Online (Sandbox Code Playgroud)