On 1 November 2010 22:18, Andrew Coppin <andrewcop...@btinternet.com> wrote:

> I vaguely recall somebody mentioning a parser library on Hackage where
> "try" is the default behaviour and you turn it off explicitly, rather than
> turning it on explicitly. Apparently this is much more intuitive. But
> unfortunately I can't remember what the hell the library was...


polyparse, is it?

from http://code.haskell.org/~malcolm/polyparse/docs/index.html#what

> If you have only ever used the parsec combinators before, then you might be

pleasantly surprised by polyparse: all of the same functionality is
> available,

but it removes the confusion that all too commonly arises from a failure to

use parsec's try combinator correctly. Ambiguous grammars often fail to be

compositional in parsec, and it can be a black art guessing where to
> introduce

a try to fix it. In contrast, polyparsers are by default fully
> compositional.

It is possible to improve their efficiency (and the accuracy of error

messages) by inserting commits (which are the dual of try), but it is not

necessary for writing a correct parser, and furthermore, it is usually
> obvious

where it can be beneficial to add a commit.


Ozgur
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to