Uniform function call syntax

Jacob Carlborg doob at me.com
Thu May 27 01:22:31 PDT 2010


On 2010-05-27 01.52, Simen kjaeraas wrote:
> On Thu, 27 May 2010 01:41:16 +0200, retard <re at tard.com.invalid> wrote:
>
>> Wed, 26 May 2010 22:05:48 +0200, Jacob Carlborg wrote:
>>
>>> I've asked this before, probably several times: if and when will D get
>>> the uniform function call syntax that has been talked about? Example:
>>>
>>> void foo (int i) {}
>>> 3.foo();
>>>
>>> And please don't say it's already implemented because it isn't, I've
>>> heard that before.
>>
>> Are you sure you're not confusing two things.
>>
>> "The uniform access says that client code should not be affected by a
>> decision to implement an attribute as a field or method." -- Programming
>> in Scala
>>
>> The other is a term known as extension methods. "Extension methods enable
>> you to "add" methods to existing types without creating a new derived
>> type, recompiling, or otherwise modifying the original type." -- http://
>> msdn.microsoft.com/en-us/library/bb383977.aspx
>
> http://s3.amazonaws.com/dconf2007/WalterAndrei.pdf
>
> Page 9. The idea is that foo(bar) may be replaced with bar.foo() and vice
> versa, making function calls 'uniform' in that both member functions and
> free functions may be called in the same manner.

What he said ^


-- 
/Jacob Carlborg


More information about the Digitalmars-d mailing list