>
> > This requires arbitrary lookahead to disambiguate from tuples.
>
> This bit in particular. Really really don't want to cross the bridge to
> arbitrary lookahead in the grammar.
>

Pardon me, but I'm not convinced that there is a problem in lambdas
like (x, y) -> (x + y). By analogy, you can realize that ((x * y) + z, q)
is a tuple instead of a simple parenthesized expression when you reach the
comma -- you don't need to look ahead for a comma in advance. So why not
treat (x, y) as a tuple until you reach the "->" and then reinterpret the
contents at that point? This works as long as the syntax of a lambda
argument list is a subset of the tuple syntax, anyway. If that's not the
case, parsing gets messier, though I'm sure arbitrary lookahead is not be
the only possible implementation.
-- 
- David
http://loyc-etc.blogspot.com
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to