Hallo, On 10/2/07, Brandon S. Allbery KF8NH <[EMAIL PROTECTED]> wrote: > > On Oct 2, 2007, at 9:52 , Alex Queiroz wrote: > > > (parseDottedList ls) <|> (parseProperList ls) > > > > I've factored out the common left sub-expression in > > parseLeftList. The problem is that "..." is a valid identifier so when > > inside the left of the list the parser sees a single dot, it tries to > > match it with "...", which fails. Can anybody give advice on how to > > rewrite these list parsing functions? > > try (parseDottedList ls) <|> parseProperList ls > > Overuse of try is a bad idea because it's slow, but sometimes it's > the only way to go; it insures backtracking in cases like this. >
This does not work. The parser chokes in parseLeftList, because it finds a single dot which is not the beginning of "...". Cheers, -- -alex http://www.ventonegro.org/ _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe