Haskell:一些和很多

标签 haskell applicative combinators alternative-functor some-and-many

这个问题在这里已经有了答案:





What are Alternative's "some" and "many" useful for?

(5 个回答)


3年前关闭。




什么是somemanyControl.Applicative.Alternative适合吗?如果我写类似 some $ Just 42 ,好像会造成无限递归,好像不是很有用……

最佳答案

当用作解析器组合器时,它们是有意义的。
some意味着解析器被尽可能多地应用,但至少一次。
many类似,但也不允许解析,return学习 []在这种情况下,而不是失败。

如果是 Maybe , Just ...永远不会“失败”,因此您的解析器 some $ Just 42循环。

关于Haskell:一些和很多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5841511/

相关文章:

haskell - 为什么在 Haskell 中将副作用建模为 monad?

boolean - XOR 可以使用 SKI 组合器表示吗?

parsing - 无法理解解析器组合器中的 'pMany' 和 'pMany1'

haskell - 网线的完整示例?

haskell - 了解这个 Haskell 函数的类型

haskell - 如何使用 Haskell 超时函数(在 System.Timeout 中)来停止失控计算?

haskell - 理解(,)<$>长度<*>头部的类型

haskell - 为什么 "let"语句会强制 "applicative do" block 需要 monad 约束?

haskell - 在类 Functor 的声明中,类型变量可以是函数类型吗?

Scala:我可以将组合器解析器微调为本地贪婪吗?