> Good.  Let me add a disclaimer, though.  This appears to me still to be
> LR-parseable (except for the genuine ambiguity), because in the absence of
> arbitrary parenthesization, a finite lookahead is sufficient to distinguish,
> for example,
>
>       (n+1) x =
> from
>       (n+1) `op` x =
>
> but I haven't run anything through a parser generator.

I've though about this and I believe it isn't a problem because
after the ")", a single symbol is sufficient to distinguish
the two cases.  This is a consequence of restricting parentheses
to one level.

Your other proposal is roughly what I had to implement in order to
accept all(!) Haskell 1.1 syntax.

> I'm probably preaching to the choir here. Noting that Phil has also
> said that banning (n+k)-bindings is acceptable, I suggest we do so.

Hallelujah!  Amen.

Kevin


Reply via email to