An old problem popped up in the uu-parsinglib. When combining two parsers with 
<|>, it is checked to see which alternative  accepts the shortest input; this 
is done in order to prevent infinite insertions, which may occur as a result of 
choosing a recursive alternative  when inserting of some recursive non-terminal 
is needed. In such a case we want to choose a non-recursive alternative.

This approach however does not combine well with the permuting parsers: here 
all the alternatives have the same length and we do not want to compute all 
those lengths, since this defeats the whole purpose of building these 
permutations lazily. So I added a non-length-checking version of <|> to 
ExtApplicative with is used in pPerms.

If you are using the permuting parsers you are strongly advised to upgrade.

Have a nice Christmas and a happy new year,

  Doaitse








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

Reply via email to