10 lines
404 B
JavaScript
10 lines
404 B
JavaScript
let
|
|
polyfix= // A version that takes an array instead of multiple arguments would simply use l instead of (...l) for parameter
|
|
(...l)=>(
|
|
(f=>f(f))
|
|
(g=>l.map(f=>(...x)=>f(...g(g))(...x)))),
|
|
[even,odd]= // The new destructive assignment syntax for arrays
|
|
polyfix(
|
|
(even,odd)=>n=>(n===0)||odd(n-1),
|
|
(even,odd)=>n=>(n!==0)&&even(n-1));
|