>       (let x = 10 in x `div`)
>       (let x = 10 in x `div` 3)
>
> To parse the first, a bottom-up parser should reduce the let-expression
> before the operator, while to parse the second it should shift.
> But it needs 4 tokens of lookahead to decide which to do.  That seems
> unreasonable, and is well beyond the LALR(1) parsers used by Hugs and GHC.

nhc98 manages to parse and compile both expressions with ease, no doubt
because it uses parser combinators rather than a table-driven mechanism.

Regards,
    Malcolm
_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to