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

发布于 2024-12-01 16:30:34 字数 284 浏览 2 评论 0原文

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

这门课有什么用?谷歌搜索没有发现任何特别有见地的东西。它似乎完全不合适,因为它与 Applicative 包捆绑在一起。

有人可以发布一个您将使用此类的可能场景吗?

I was looking at the Applicative class within Haskell libraries and stumbled across Alternative.

What is this class good for? A google search did not reveal anything particularly insightful. And it seems to be completely out of place, bundled as it is with the Applicative package.

Could someone please post a possible scenario where you would use this class?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

相守太难 2024-12-08 16:30:34

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

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

It's commonly used with parser combinators. For example, if space is a parser combinator that matches a single whitespace character, many space would be one that would match consecutive whitespace.

I can agree that it's slightly out of place in Control.Applicative, though.

心的位置 2024-12-08 16:30:34

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

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

Sometimes the <|> operator is quite useful:

foldl1 (<|>) [Nothing, Just 5, Just 3]
-- Just 5
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文