On Monday, February 10, 2003, at 08:01 PM, Sean Chittenden wrote:

> Which is a fundamental shift away from operators as methods and why
> I'm kinda up in arms about this philosophical change.  In an OO world,
> I expect i=(f.b=(42)).
>

I've tasted the Kool-Aid and changed my mind about this (even though it 
bit me.)

The new behavior is more consistent, prettier, and much easier to 
explain.

* Assignment methods are already unlike other methods because they are
treated with special syntactic sugar.   (eg   i = f.b = a)
* Top level assignment operator is conceptually hard to map into a 
method call.
* Neither technique guarantees: (f.b=a) == (f.b)
* Most users are accustomed to right to left assignment and your eye 
tends
to give = extra weight.
* Might be confusing to count on assignment having side effects.

Eg: this might be confusing to a new user.  Requires you to know details
of parser class.

> root  =  XML::Parser.new.string  =  (str).root

Maybe it's possible to automatically create or infer set_ aliases?

root = XML::Parser.new.set_string( str ).root

Automatic variant of string=() when no other set_string present?