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));
|