Proposed D2 Feature: => for anonymous delegates

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Tue Oct 20 13:55:18 PDT 2009


Pelle Månsson wrote:
> Jason House wrote:
>> Andrei Alexandrescu Wrote:
>>
>>> Jason House wrote:
>>>> Am I the only one that has trouble remembering how to write an inline
>>>> anonymous delegate when calling a function? At a minimum, both Scala
>>>> and C# use (args) => { body; } syntax. Can we please sneak it into
>>>> D2?
>>> We have (args) { body; }
>>>
>>> Andrei
>>
>> Somehow, I missed that. What kind of type inference, if any, is 
>> allowed? Scala and C# allow omiting the type. Lately I'm doing a lot 
>> of (x) => { return x.foo(7); } in C# and it's nice to omit the 
>> amazingly long type for x. The IDE even knows the type of x for 
>> intellisense... I think scala would allow x => foo(7), or maybe even 
>> => _.foo(7) or even _.foo(7). I haven't written much scala, so I may 
>> be way off...
> 
> Recent experiments by myself indicate you cannot omit the type and you 
> cannot use auto for the type, so you actually need to type your 
> VeryLongClassName!(With, Templates) if you need it.
> 
> I sort of miss automatic type deduction.

Actually, full type deduction should be in vigor, but it is known that 
the feature has more than a few bugs. Feel free to report any instance 
in which type deduction does not work in bugzilla.

Andrei



More information about the Digitalmars-d mailing list