MONAD

by Igor Cuckovic

JavaScript

function MONAD () {
    return function unit (value) {
        var monad = Object.create(null);
        monad.bind = function (func) {
            return func(value);
        }
        return monad;
    }
}


var log = function (a) {
    console.log(a);
}
/*
var identity = MONAD();
var monad = identity("Hello World!");
monad.bind(log);
*/
MONAD()("Hello World!").bind(log);