Good news: the e:T type-qualified expression is back. We found and
killed the source of the shift-reduce error on this. This is good,
because writing (the T e) everywhere was subjectively awful.
The interfering case was coming from the infix syntax for field
reference:
expr.Id =>
expr:type.Id =>
expr:Id.Id.Id
^-shift reduce conflict
where that first Id.Id is a reference to a type name defined in another
interface.
Since this case is rarely useful, we resolved it by hacking the grammar
to say that the e:T syntax is legal everywhere *except* in combination
with the e.Id syntax. In that context (only) you now need to write one
of:
(member e:T Id)
(the T e).Id
shap
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev