У меня есть объект типа Either String (Either String Int). Я хотел бы свернуть его до объекта типа Either String Int.

Есть ли в PureScript для этого функция?

5
sdgfsdh 24 Дек 2016 в 22:01
Я не знаю purescript, но это join (с монадой Either String) в Haskell. Может это поможет?
 – 
luqui
24 Дек 2016 в 22:28
Да, это более или менее похоже на Haskell
 – 
sdgfsdh
24 Дек 2016 в 22:32
3
Просто совет: типизированные дыры purescript могут искать определения, соответствующие их типу: ознакомьтесь с try.purescript .org /… в качестве примера
 – 
Christoph Hegemann
25 Дек 2016 в 15:26

1 ответ

Лучший ответ

Это то же самое, что и 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
5
sdgfsdh 3 Янв 2017 в 14:27
Вы можете принять этот ответ, чтобы вопрос появился как ответ.
 – 
user1804599
1 Янв 2017 в 03:13