Re: Function names and lambdas

2017-04-08 Thread Jacob Carlborg via Digitalmars-d-learn
On 2017-04-07 23:05, Ali Çehreli wrote: Main reason for D not supporting the name-to-pointer mapping? I don't think so because as far as I know this has been the case since very early on but UFCS came very much later. More likely due to properties, i.e. calling functions without parentheses.

Re: Function names and lambdas

2017-04-07 Thread Ali Çehreli via Digitalmars-d-learn
On 04/07/2017 11:19 AM, Yuxuan Shui wrote: > On Thursday, 6 April 2017 at 18:45:26 UTC, Ali Çehreli wrote: >> On 04/06/2017 11:37 AM, Russel Winder via Digitalmars-d-learn wrote: >>> [...] >> >> I think it's just a design choice. C implicitly converts the name of >> the function to a pointer to

Re: Function names and lambdas

2017-04-07 Thread Yuxuan Shui via Digitalmars-d-learn
On Thursday, 6 April 2017 at 18:45:26 UTC, Ali Çehreli wrote: On 04/06/2017 11:37 AM, Russel Winder via Digitalmars-d-learn wrote: [...] I think it's just a design choice. C implicitly converts the name of the function to a pointer to that function. D requires the explicit & operator:

Re: Function names and lambdas

2017-04-07 Thread Russel Winder via Digitalmars-d-learn
On Thu, 2017-04-06 at 11:45 -0700, Ali Çehreli via Digitalmars-d-learn wrote: > […] > I think it's just a design choice. C implicitly converts the name of > the  > function to a pointer to that function. D requires the explicit & > operator: One of the dangers of being a bit like and a

Re: Function names and lambdas

2017-04-07 Thread Russel Winder via Digitalmars-d-learn
On Thu, 2017-04-06 at 18:45 +, Adam D. Ruppe via Digitalmars-d- learn wrote: > On Thursday, 6 April 2017 at 18:37:51 UTC, Russel Winder wrote: > > I am used to a function name being a reference to the function  > > body, cf. lots of other languages. However D rejects: > > > > iterative >

Re: Function names and lambdas

2017-04-06 Thread Ali Çehreli via Digitalmars-d-learn
On 04/06/2017 11:37 AM, Russel Winder via Digitalmars-d-learn wrote: I am used to a function name being a reference to the function body, cf. lots of other languages. However D rejects: iterative as a thing can put in an array, it requires: (n) => iterative(n) Presumably this

Re: Function names and lambdas

2017-04-06 Thread Adam D. Ruppe via Digitalmars-d-learn
On Thursday, 6 April 2017 at 18:37:51 UTC, Russel Winder wrote: I am used to a function name being a reference to the function body, cf. lots of other languages. However D rejects: iterative Try The compiler would probably optimize out a trivial thing anyway, but should work

Function names and lambdas

2017-04-06 Thread Russel Winder via Digitalmars-d-learn
I am used to a function name being a reference to the function body, cf. lots of other languages. However D rejects: iterative as a thing can put in an array, it requires: (n) => iterative(n) Presumably this introduces inefficiency at run time? I.e. the extra level of