Haskell - 什么是Control.Applicative.Alternative有用吗?

时间:2011-08-26 11:00:11

标签: haskell applicative

我正在查看Haskell库中的Applicative类,偶然发现了Alternative

这门课有什么用?谷歌搜索没有透露任何特别有见地的信息。它似乎完全不合适,与Applicative包捆绑在一起。

有人可以发布您可以使用此课程的可能情景吗?

2 个答案:

答案 0 :(得分:22)

它通常与解析器组合器一起使用。例如,如果space是与单个空白字符匹配的解析器组合子,many space将是一个匹配连续空格的组合。

我同意它在Control.Applicative中略显不合适。

答案 1 :(得分:16)

有时<|>运算符非常有用:

foldl1 (<|>) [Nothing, Just 5, Just 3]
-- Just 5