Function composition: Difference between revisions
m
→JavaScript ES6 - Multiple composition: Updated primitive, tidied.
(→{{header|Diego}}: added Diego entry) |
m (→JavaScript ES6 - Multiple composition: Updated primitive, tidied.) |
||
Line 1,657:
====Multiple composition====
<lang JavaScript>(() => {
// -------------- MULTIPLE COMPOSITION ---------------
// compose :: [(a -> a)] -> (a -> a)▼
const compose = (...fs) =>
// A function defined by the right-to-left
x => fs.reduceRight(▼
// composition of all
(f, g) => x => f(g(x)),
);
// ---------------------- TEST -----------------------
const
sqrt = Math.sqrt,
Line 1,673 ⟶ 1,677:
return compose(half, succ, sqrt)(5);
// --> 1.618033988749895
})();</lang>
|