On Tue, Aug 11, 2015 at 1:49 PM, Jacob Parker <[email protected]> wrote:
> I did look, but couldn’t find anything on named arrow functions were not 
> included. I do sometimes find cases where I want recursion inside a class 
> function definition, and still need access to `this`. Was it just seen as 
> syntax bloat, or were there any complications to implementing it?
>
> Obviously a contrived example, but something like this (using do syntax too)
>
>     x.map(factorial(x) => do {
>         if (x <= 1) {
>             1;
>         } else {
>             x * factorial(x - 1)
>         }
>     });

Probably not super-helpful in practice, but there's always the Y-combinator. ^_^

let Y = F => (x=>F(y=>(x(x))(y)))(x=>F(y=>(x(x))(y)));

x.map(Y(fact=>x=> do {
  if( x <= 1) {
    1;
  } else {
    x * fact(x-1);
  }
));

Here, the syntax "Y(foo=>" indicates a "named" arrow function.

~TJ
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to