reference to 'self' inside a function

Mehrdad wfunction at hotmail.com
Wed Jul 18 19:54:10 PDT 2012


On Tuesday, 17 July 2012 at 16:56:17 UTC, angel wrote:
> I propose to introduce a reference to the current function, 
> much like 'this' in a class method. Call it 'self' or 
> 'thisFunc', or whatever ...
> What might this be good for ?
> For implementing recursion in a lambda function.
> Writing in functional style, one creates many functions, and 
> looking for reasonable names for these functions becomes 
> unnecessarily painful.

Recursive lambdas? o.O

Instead of changing the language, I'd say your situation merits 
using the Y combinator... maybe define Y(f) to be (g => g(g))(g 
=> f(x => g(g)(x)))
then if you need to define factorial, just say...
fact = Y(fact => n => n > 0 ? n * fact(n - 1) : 1);




More information about the Digitalmars-d mailing list