Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,49 @@
|
|||
(function () {
|
||||
'use strict';
|
||||
|
||||
|
||||
// iterativeComposed :: [f] -> f
|
||||
function iterativeComposed(fs) {
|
||||
|
||||
return function (x) {
|
||||
var i = fs.length,
|
||||
e = x;
|
||||
|
||||
while (i--) e = fs[i](e);
|
||||
return e;
|
||||
}
|
||||
}
|
||||
|
||||
// foldComposed :: [f] -> f
|
||||
function foldComposed(fs) {
|
||||
|
||||
return function (x) {
|
||||
return fs
|
||||
.reduceRight(function (a, f) {
|
||||
return f(a);
|
||||
}, x);
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
var sqrt = Math.sqrt,
|
||||
|
||||
succ = function (x) {
|
||||
return x + 1;
|
||||
},
|
||||
|
||||
half = function (x) {
|
||||
return x / 2;
|
||||
};
|
||||
|
||||
|
||||
// Testing two different multiple composition ([f] -> f) functions
|
||||
|
||||
return [iterativeComposed, foldComposed]
|
||||
.map(function (compose) {
|
||||
|
||||
// both functions compose from right to left
|
||||
return compose([half, succ, sqrt])(5);
|
||||
|
||||
});
|
||||
})();
|
||||
Loading…
Add table
Add a link
Reference in a new issue