2016-12-23 61 views
2

使用#無論使用哪種類型的我喜歡用#通過幾個函數傳遞一個值,因爲它使更可讀的代碼:在PureScript

1 # (\n -> n * 2) # (\n -> n + 1) 

不過,我想用Either做到這一點:

(Right 1) ??? (\n -> n * 2) ??? (\n -> n + 1) 

A Right值應該爲每個函數解壓縮,而Left值應該簡單地通過不變。換句話說:

(Right x) ??? f == Right f(x) 
(Left x) ??? f == Left x 

這是否已經有一個運算符?

回答

3

您在尋找<#>這是運營商的別名Functor的mapFlippedEither的Functor實例對Right的內容應用了一個函數,但未改變值Left