哈斯克尔:一些和许多



Control.Applicative.Alternative中的somemany对什么有好处?如果我写像some $ Just 42这样的东西,它似乎会导致无限递归,这似乎不是很有用…

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

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

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

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

最新更新