Uniform function call syntax

Simen kjaeraas simen.kjaras at gmail.com
Wed May 26 16:52:32 PDT 2010


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.

-- 
Simen


More information about the Digitalmars-d mailing list