我正在查看Haskell库中的Applicative
类,偶然发现了Alternative
。
这门课有什么用?谷歌搜索没有透露任何特别有见地的信息。它似乎完全不合适,与Applicative包捆绑在一起。
有人可以发布您可以使用此课程的可能情景吗?
答案 0 :(得分:22)
它通常与解析器组合器一起使用。例如,如果space
是与单个空白字符匹配的解析器组合子,many space
将是一个匹配连续空格的组合。
我同意它在Control.Applicative
中略显不合适。
答案 1 :(得分:16)
有时<|>
运算符非常有用:
foldl1 (<|>) [Nothing, Just 5, Just 3]
-- Just 5