Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
18
Task/Monads-List-monad/JavaScript/monads-list-monad-1.js
Normal file
18
Task/Monads-List-monad/JavaScript/monads-list-monad-1.js
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
Array.prototype.bind = function (func) {
|
||||
return this.map(func).reduce(function (acc, a) { return acc.concat(a); });
|
||||
}
|
||||
|
||||
Array.unit = function (elem) {
|
||||
return [elem];
|
||||
}
|
||||
|
||||
Array.lift = function (func) {
|
||||
return function (elem) { return Array.unit(func(elem)); };
|
||||
}
|
||||
|
||||
inc = function (n) { return n + 1; }
|
||||
doub = function (n) { return 2 * n; }
|
||||
listy_inc = Array.lift(inc);
|
||||
listy_doub = Array.lift(doub);
|
||||
|
||||
[3,4,5].bind(listy_inc).bind(listy_doub); // [8, 10, 12]
|
||||
Loading…
Add table
Add a link
Reference in a new issue