12

some有什么manyControl.Applicative.Alternative?如果我写类似的东西some $ Just 42,它似乎会导致无限递归,这似乎不是很有用......

4

1 回答 1

11

当用作解析器组合器时,它们是有意义的。

some意味着解析器被尽可能多地应用,但至少一次。

many类似,但也不允许解析,在这种情况下returning[]而不是失败。

在 的情况下MaybeJust ...永远不会“失败”,因此您的解析器会some $ Just 42循环。

于 2011-04-30T12:11:43.310 回答