Parsec库中是否有内置的Either解析器?

时间:2017-08-06 13:10:32

标签: haskell parsec

我正在寻找尝试使用第一个解析器的解析器,如果成功则返回Left a,或者如果失败,请尝试第二个解析器并返回Right b。换句话说,带有签名的东西:

Parser a -> Parser b -> Parser (Either a b)

例如,type Parser a = P.Parsec String () a

我自己实施起来并不是特别困难:

parseEither pa pb = (Left <$> pa) <|> (Right <$> pb)

但它似乎是一个非常有用且微不足道的构造,我想知道Parsec库中是否存在类似的东西。

0 个答案:

没有答案