September 2017 Update
This commit is contained in:
parent
bba7bfd280
commit
ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions
|
|
@ -1,20 +1,16 @@
|
|||
(() => {
|
||||
'use strict';
|
||||
|
||||
|
||||
// compose :: [(a -> a)] -> (a -> a)
|
||||
let compose = fs => x => fs.reduceRight((a, f) => f(a), x);
|
||||
|
||||
|
||||
// TEST a composition of 3 functions (right to left)
|
||||
|
||||
let sqrt = Math.sqrt,
|
||||
|
||||
succ = x => x + 1,
|
||||
|
||||
half = x => x / 2;
|
||||
|
||||
|
||||
return compose([half, succ, sqrt])(5);
|
||||
|
||||
// --> 1.618033988749895
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
(() => {
|
||||
'use strict';
|
||||
|
||||
// compose :: (a -> b) -> (b -> c) -> (a -> c)
|
||||
const compose = (f, g) => x => g(f(x));
|
||||
|
||||
|
||||
// TEST
|
||||
const
|
||||
sqrt = Math.sqrt,
|
||||
succ = x => x + 1,
|
||||
half = x => x / 2;
|
||||
|
||||
const
|
||||
succSqrt = compose(sqrt, succ),
|
||||
halfSuccSqrt = compose(succSqrt, half);
|
||||
|
||||
return halfSuccSqrt(5);
|
||||
})();
|
||||
Loading…
Add table
Add a link
Reference in a new issue