Return 'this' proposal
Reinier Zwitserloot
reinier at zwitserloot.com
Thu Mar 19 00:24:22 PDT 2009
I think you misunderstood, Joe.
The idea is not that you can do that with -any- method that returns
void. The idea is that a method declares that it supports this, by way
of a flag. This does not change either the signature of that method,
or the type system. Just like the varargs flag, it's 'magic' that
tells the code that calls the method that it can/needs to do something
special (in the case of varargs, create an array. In the case of this
idea, presume the result of the expression
"a.methodWithTheReturnThisFlagEnabled()" is "a", and the method call's
return value, if any, is completely ignored.
Any library author can go back and retro-actively add these markers
(though obviously they should only do that if their methods always
'return this;'), without breaking old code, or new code. If a library
author feels this isn't a good idea, then they don't.
--Reinier Zwitserloot
On Mar 19, 2009, at 07:52, Joseph D. Darcy wrote:
> Reinier Zwitserloot wrote:
>> Joe,
>>
>> What's the coin viability for a proposal that does NOT change the
>> type system, but just introduces syntax sugar that translates:
>>
>> expression.setBar().setBaz();
>>
>> to:
>>
>> TypeOfExpression $unique = expression;
>> $unique.setBar();
>> $unique.setBaz();
>>
>
> I'm not in favor of language changes which retrofit a fluent
> interface on an API not designed to have one.
>
> -Joe
>
More information about the coin-dev
mailing list