不幸的是我无法实现这个功能我已经尝试了很多。
f5 :: (Either a b -> c) -> (a -> c, b -> c)
我试过了
f5 k _ (Left x) = k x
f5 _ u (Right y) = u y
提前感谢您的帮助。
最佳答案
你实现了
f5 :: (a -> c) -> (b -> c) -> Either a b -> c
你需要做相反的操作。
f5 :: (Either a b -> c) -> (a -> c, b -> c)
f5 f = (f . Left, f . Right)
关于haskell - 如何实现这个 Haskell 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53376111/