July 11, 2013
On Wednesday, 10 July 2013 at 21:33:00 UTC, Brian Schott wrote:
> On Wednesday, 10 July 2013 at 21:16:30 UTC, Timon Gehr wrote:
>> // (parameters) => expression ?
>>
>> In any case, please consider that it actually makes no sense to restrict the expressiveness of the type signature based on how the function body is specified. (Why on earth should one have to use the { return expression; } syntax just in order to be able to assert that no context pointer is required?)
>>
>> The documentation is in error here.
>
> "(parameters) => expression" is mentioned in the source and I agree it's valid. I must have forgotton to copy-paste it.
>
> I don't agree that "function(parameters) => expression" is valid though. Can any of the DMD devs clear up if this is intended?

I don't see how DMD implementation matters here. This is language design issue.
July 11, 2013
This is accepts-valid behavior.

function(parameters) => expr

means the combination of:

1. specifying "context pointer is not necessary"
2. lambda syntax "(parameters) => expr"

I think website documentation has a bug.

Kenji Hara



2013/7/10 Brian Schott <briancschott@gmail.com>

> While finishing up work on my parser and grammar specification I found this in container.d:
>
> return equal!(function(Elem a, Elem b) => !_less(a,b) && !_less(b,a))
>                      (thisRange, thatRange);
>
> It seems to be some strange hybrid of the function literal syntax and the lambda syntax. It's not documented anywhere (surprise!) and I'm not sure if I should support it or file an accepts-invalid bug against DMD.
>


July 11, 2013
I filed the website bug in bugzilla, and posted pull request.

http://d.puremagic.com/issues/show_bug.cgi?id=10605 https://github.com/D-Programming-Language/dlang.org/pull/351

Kenji Hara


2013/7/11 Kenji Hara <k.hara.pg@gmail.com>

> This is accepts-valid behavior.
>
> function(parameters) => expr
>
> means the combination of:
>
> 1. specifying "context pointer is not necessary"
> 2. lambda syntax "(parameters) => expr"
>
> I think website documentation has a bug.
>
> Kenji Hara
>
>
>
> 2013/7/10 Brian Schott <briancschott@gmail.com>
>
>> While finishing up work on my parser and grammar specification I found this in container.d:
>>
>> return equal!(function(Elem a, Elem b) => !_less(a,b) && !_less(b,a))
>>                      (thisRange, thatRange);
>>
>> It seems to be some strange hybrid of the function literal syntax and the lambda syntax. It's not documented anywhere (surprise!) and I'm not sure if I should support it or file an accepts-invalid bug against DMD.
>>
>
>


July 11, 2013
On Thursday, 11 July 2013 at 04:59:14 UTC, Kenji Hara wrote:
> I filed the website bug in bugzilla, and posted pull request.
>
> http://d.puremagic.com/issues/show_bug.cgi?id=10605
> https://github.com/D-Programming-Language/dlang.org/pull/351
>
> Kenji Hara
>

http://msalvarez1.edublogs.org/files/2010/01/rock_rule2.jpg
1 2
Next ›   Last »