View mode: basic / threaded / horizontal-split · Log in · Help
November 29, 2007
Function pointers/delegates
real function(real x) y = function real(real x) { return sqrt( 1 - x * x ); };

Is it just me or does it seem odd that real and function are swapped on one side?
I can kind of see this if it's for single-pass parsing, but isn't there a better way?

It's not intuitive at all.
November 29, 2007
Re: Function pointers/delegates
S wrote:

> real function(real x) y = function real(real x) { return sqrt( 1 - x * x
> ); };
> 
> Is it just me or does it seem odd that real and function are swapped on
> one side? I can kind of see this if it's for single-pass parsing, but
> isn't there a better way?
> 
> It's not intuitive at all.

Agreed I always get this wrong and has to correct compiler errors.
November 29, 2007
Re: Function pointers/delegates
"S" <S@s.com> wrote in message news:fin4j6$1hks$1@digitalmars.com...
> real function(real x) y = function real(real x) { return sqrt( 1 - x * 
> x ); };
>
> Is it just me or does it seem odd that real and function are swapped on 
> one side?
> I can kind of see this if it's for single-pass parsing, but isn't there a 
> better way?
>
> It's not intuitive at all.

I like the way C# 3.0 does anonymous functions.  I believe the idea comes 
from Nemerle.  It would be something like:

real function(real x) y = real <= (real x) { return sqrt(1 - x*x); };
November 30, 2007
Re: Function pointers/delegates
Johan Granberg wrote:

> S wrote:
> 
>> real function(real x) y = function real(real x) { return sqrt( 1 - x * x
>> ); };
>> 
>> Is it just me or does it seem odd that real and function are swapped on
>> one side? I can kind of see this if it's for single-pass parsing, but
>> isn't there a better way?
>> 
>> It's not intuitive at all.
> 
> Agreed I always get this wrong and has to correct compiler errors.

Same here.
November 30, 2007
Re: Function pointers/delegates
Craig Black wrote:
> "S" <S@s.com> wrote in message news:fin4j6$1hks$1@digitalmars.com...
>> real function(real x) y = function real(real x) { return sqrt( 1 - x * 
>> x ); };
>>
>> Is it just me or does it seem odd that real and function are swapped on 
>> one side?
>> I can kind of see this if it's for single-pass parsing, but isn't there a 
>> better way?
>>
>> It's not intuitive at all.
> 
> I like the way C# 3.0 does anonymous functions.  I believe the idea comes 
> from Nemerle.  It would be something like:
> 
> real function(real x) y = real <= (real x) { return sqrt(1 - x*x); }; 
> 
> 

I like the way D does anonymous delegates. <g>

real delegate(real x) y = (real x) { return 1 - x * x; };
Top | Discussion index | About this forum | D home