[Haskell-beginners] Applicative Parsec

Brent Yorgey byorgey at seas.upenn.edu
Fri Nov 6 16:41:34 EST 2009


On Fri, Nov 06, 2009 at 07:20:11PM +0100, Matthias Guedemann wrote:
> 
> Hi Brent,
> 
> thanks for the illustrative example.  
> 
> > For example, consider parsing a file which contains a positive
> > integer, followed by that many letters.  For example,
> > 
> >   3xyz
> >   12abcdefghijkl
> > 
> > are two instances of this format.  In order to parse this, a monadic
> > interface is required, since the result of parsing the number must be
> > used to decide how many things to parse after that.
> 
> I see, but as long as I want to parse context free grammars, it is
> sufficient?

Well, technically, if you want to be able to do any choice at all, you
need Alternative in addition to Applicative (this is what provides the
<|> choice operator).  But intuitively, yes, I expect that you should
be able to parse any context-free grammar using only Alternative.
 
-Brent


More information about the Beginners mailing list