function add(a, b) { return a + b } function square(a) { return a * a } function fmap(a, b) { return function(c, d) { return a(b(c, d)) } }; var squareAdd = fmap(square, add); alert(squareAdd(2,3));