and yet you haven't removed any anonymous arrow listener. Assign first? Mostly nobody will do that, it's just less natural then `obj.on(something, ()=>happening)`
On Fri, Feb 27, 2015 at 3:59 PM, Claus Reinke <[email protected]> wrote: > Can you show an example of how callee is used with a fat arrow function? >>> >> ((n)=>n>1? n*function.callee(n-1) : 1) >> > > meta-level tools are powerful, which makes them ever so tempting. > > They are too powerful to be used for tasks for which current > language-level tools are sufficient. Using a call-by-value fixpoint > combinator > > let fix = f=>x=>f(x=>fix(f)(x))(x) > undefined > > we can use plain functional abstraction instead of meta properties > > let f = self=>n=>n>1?n*self(n-1):1 > undefined > > fix(f)(6) > 720 > > fix(f)(7) > 5040 > > (if you're worried about optimization, provide a built-in 'fix') > > For concise methods, the problem is already solved by 'this', > isn't it? > > ({f(n){return n>1?n*this.f(n-1):1}}.f)(6) > 720 > > Like most powerful tempting things, referring to meta-levels comes > at a cost, even though that may not be immediately visible (ie no > lexical scoping, cannot extract as part of a function body). So the > easiest route (of introducing the most powerful feature) is not > necessarily the best route. > > You're still working to get rid of anomalies that hamper functional > abstraction and composition (arrow functions help with 'this'; and > wasn't the missing toMethod an attempt to handle the newly introduced > 'super' special case?). I'm surprised to see everyone so eager to introduce > new trouble. > > just saying... :-) > Claus > http://clausreinke.github.com/ > > > > _______________________________________________ > es-discuss mailing list > [email protected] > https://mail.mozilla.org/listinfo/es-discuss >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

