【发布时间】:2011-04-30 11:44:50
【问题描述】:
Control.Applicative.Alternative 中的 some 和 many 有什么用处?如果我写some $ Just 42之类的东西,好像会造成无限递归,好像不是很有用……
【问题讨论】:
标签: haskell applicative combinators alternative-functor some-and-many
Control.Applicative.Alternative 中的 some 和 many 有什么用处?如果我写some $ Just 42之类的东西,好像会造成无限递归,好像不是很有用……
【问题讨论】:
标签: haskell applicative combinators alternative-functor some-and-many
当用作解析器组合器时,它们是有意义的。
some 表示解析器应用尽可能多的次数,但至少应用一次。
many 类似,但也不允许解析,returning [] 在这种情况下不会失败。
在 Maybe 的情况下,Just ... 永远不会“失败”,因此您的解析器 some $ Just 42 会循环。
【讨论】: