2017-08-25 63 views
-2

如果Either fmap“要么FMAP”,这一直持续到一个正确的结果已经达到

(a -> b) -> p a a -> p a b

一旦返回Left停靠映射。

什么是名字或类型签名的函数,它不会停止,直到它得到Right结果。

我怀疑是双模制器,但我真的需要它明确表达出来 - 并没有完全理解这些事物的逻辑。

也许某种fold也符合...

+0

是'要么fmap'有效Haskell代码? –

+0

你有没有试过问[Hoogle](https://www.haskell.org/hoogle)? –

+0

我完全不知道这个问题在问什么。 '或者fmap'意味着什么?什么是'p'?一个功能“停止”是什么意思? – dfeuer

回答

5
Data.Bifunctor.first :: (a -> b) -> Either a c -> Either b c 

在ghci的:

Data.Bifunctor> first (+1) (Left 0) 
Left 1 
Data.Bifunctor> first (+1) (Right 0) 
Right 0 
相关问题