This question already has an answer here:
What are some
and many
in Control.Applicative.Alternative
good for? If I write something like some $ Just 42
, it seems to cause infinite recursion, which seems not very useful...
This question already has an answer here:
What are some
and many
in Control.Applicative.Alternative
good for? If I write something like some $ Just 42
, it seems to cause infinite recursion, which seems not very useful...
They make sense, when used as a parser combinator.
some
means, that the parser is applied as often as possible, but at least once.many
is similar, but allows no parse. In case ofMaybe
,Just ...
never "fails", thus your parser loops.