2017-08-25 60 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 
相關問題