Haskell-什么是Control.Application.Alternative好



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

这个班有什么用?谷歌搜索并没有发现任何特别有见地的东西。它似乎完全不合适,与应用程序包捆绑在一起。

有人可以发布一个可能的场景,你会使用这个类吗?

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

不过,我同意它在Control.Applicative中有点不合时宜。

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

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

相关内容

最新更新