4
我有一个Either String (Either String Int)
类型的对象。我想将其折叠为类型为Either String Int
的对象。如何折叠PureScript中的任一个?
在PureScript中是否提供了此功能?
我有一个Either String (Either String Int)
类型的对象。我想将其折叠为类型为Either String Int
的对象。如何折叠PureScript中的任一个?
在PureScript中是否提供了此功能?
这是一样的哈斯克尔:
import Prelude
import Data.Either
let a = Left "a" :: Either String (Either String Int)
let b = Right (Left "b") :: Either String (Either String Int)
let c = Right (Right 123) :: Either String (Either String Int)
join a -- Left "a"
join b -- Left "b"
join c -- Right 123
考虑接受此答案,以便问题显示为已回答。 – rightfold
我不知道purescript,但这是'join'(用'要么String'的单子)在Haskell。也许这有帮助? – luqui
@luqui是的,它跟Haskell差不多,差不多和Haskell一样 – sdgfsdh
@sdgfsdh只是一个小窍门,purescript输入的洞可以搜索符合它们类型的定义: 检出http://try.purescript.org/?gist = 7552f9f7edeae7f58e5114c9a479fb53&backend = core作为示例 –