12

someとは何の役に立つのmanyですControl.Applicative.Alternativeか? のようなものを書くとsome $ Just 42、無限再帰が発生するようで、あまり役に立ちません...

4

1 に答える 1

11

パーサーコンビネーターとして使用する場合は意味があります。

someパーサーが可能な限り何度も適用されることを意味しますが、少なくとも1回は適用されます。

manyは似ていますが、解析もできません。そのような場合、失敗する代わりにreturningします。[]

の場合MaybeJust ...「失敗」することはないため、パーサーはsome $ Just 42ループします。

于 2011-04-30T12:11:43.310 に答える