Search
Function pointers/delegates
Nov 29, 2007
S
Nov 29, 2007
Johan Granberg
Nov 30, 2007
Jason House
Nov 29, 2007
Craig Black
Nov 30, 2007
Don Clugston
```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.
```
```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.
```
```"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); };

```
```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.
```
```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; };
```