javascript Monad
a simple monad demonstration from http://www.youtube.com/watch?v=b0EF0VTs9Dc
by greenlaw110
JavaScript
function MONAD () {
var prototype = Object.create(null);
function unit(value) {
var monad = Object.create(prototype);
monad.bind = function (func, args) {
return func.apply(undefined,
[value].concat(
Array.prototype.slice.apply(args || [])));
}
return monad;
}
return unit;
}
var identity = MONAD();
var monad = identity("Hello world");
monad.bind(alert);