Why Ruby?
Nick Sabalausky
a at a.a
Sat Dec 18 16:06:53 PST 2010
"Nick Sabalausky" <a at a.a> wrote in message
news:ieji3n$10ou$1 at digitalmars.com...
> "Walter Bright" <newshound2 at digitalmars.com> wrote in message
> news:iejejo$pfr$1 at digitalmars.com...
>> Nick Sabalausky wrote:
>>> Any problem with the other Scala/C#-style one?:
>>>
>>> (x, y) => x * y
>>>
>>> // Lowered to:
>>>
>>> (x, y) { return x * y; }
>>>
>>> (Maybe that was rejected before due the the weird float operators that
>>> are now being ditched?)
>>
>> The problem with the (x,y) parameter lists, where x and y are the
>> parameters, is that it is ambiguous with the existing syntax of (x,y)
>> where x and y are types and the parameters are omitted.
>>
>> For example:
>>
>> void foo(int);
>
> But we already have:
>
> (x, y) { return x * y; }
>
> So either there aren't any problems with it after all, or D's existing
> delegate syntax is already broken.
>
> To be clear, with what I'm trying to suggest, the *only* thing that would
> be different from the current delegate literal syntax is that part *after*
> the parameter list. Ie:
>
> PARAM_LIST_HERE { return x * y; }
> // -->
> PARAM_LIST_HERE => x * y
>
> Or if there's a problem with =>, then ->, or -->, or ::>, or :>, or
> whatever. I'm not suggesting the param list be different in any way
> fromhow t is now. (Although proposals from other people might differ.)
>
Slight correction: There is *one* other difference from the current delegate
literal syntax: The part after => must be an expression rather than a
statement or a block.
But again, I'm not suggesting any change to param list - except *maybe* to
make the param's parens omittable for zero-param or one-param delegates, but
*only* if there isn't a problem with that. I'm ok with keeping them if they
really still need to be there in those cases.
More information about the Digitalmars-d
mailing list