jastrachan | 18 Feb 11:53 2005

Re: double checking precedence rules

On 18 Feb 2005, at 07:59, Chris Poirier wrote:
> Hi James,
>>> I'd say changing them now should be done only
>>> for good reason, as we had good reason for changing them then.
>> Using Java's precedence rules by default so that users won't get
>> confused, seems a pretty good thing to me. We never spent the time &
>> thought too hard on the 'classic' precedence rules and compared them 
>> to
>> Java's. And there's only a couple of new operators we add (<=>, =~,
>> ==~) so it would seem wise to just use Java's and figure out what the
>> delta's should be.
> On the contrary, James -- we spent several hours over two or three days
> on it.  Every change we made from Java was a conscious decision.  I
> guess I should have written down the reasons.  Who knows, maybe some of
> the discussions are in the IRC log from back then.
>> Note that I've not yet found a single test case / use case in our SCM
>> that has failed as a result of the move to Java precedence rules. I'm
>> sure the classic grammar could confuse Java-precedence-rules-savvy
>> users at some point. So I don't think most users with notice much
>> difference; its more to avoid the odd strange surprise that someone
>> might trip over later on
> The existing test base is pretty trivial in its coverage.  For the most
> part, it avoids anything complicated, except where testing for
> specifically reported bugs.  Using pass on it as an indication of the
> rigor of the design is probably not the best of plans.
> We had reasons for the rules we set out that related to the changes in
> semantics Groovy makes from Java (like == being equality, not identity,
> for instance).

I'd like to find any rules/reasoningswe came up with...

> You may, of course, choose to ignore the design work we did in the 
> past.

No - if we can find any of the reasoning that'd be great! I'd like to 
re-air it to check we didn't just hack it together

> I just don't think it would be wise.

I honestly can't remember doing much, if any, design work on the 
precedence rules. Any idea when we could have chatted on IRC?