我如何折叠 PureScript 中的一个?

sdg*_*sdh 5 either purescript

我有一个类型的对象Either String (Either String Int)。我想将其折叠为类型为 的对象Either String Int

PureScript 中是否有为此提供的函数?

sdg*_*sdh 5

它与 Haskell 相同:

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
Run Code Online (Sandbox Code Playgroud)