mrlambda
v0.7.1
Published
A functional JavaScript library that facilitates currying and point-free programming, with optional lambda expressions.
Downloads
4
Maintainers
Readme
functional.js (fjs)
functional.js is a functional JavaScript library.
It facilitates currying and point-free / tacit programming, with optional lambda expressions.
Documentation
Visit functionaljs.com for the full documentation including curry, each, map, reduce, fold, apply, every, any, select, pluck, toArray, first, last, best, partition, group, while and more.
Curry function example
var add = fjs.curry(function(arg1, arg2) {
return arg1 + arg2;
});
var add3 = add(3);
add(1, 2, 3); // => 6
add3(1, 2, 3, 4, 5); // => 18
Curry expression example
var add = fjs.curry("a, b => a + b");
var add3 = add(3);
add(1, 2, 3); // => 6
add3(1, 2, 3, 4, 5); // => 18
Real world example
var converter = fjs.curry(function(rate, symbol, input) {
var output = input * rate;
return symbol + output.toFixed(2);
});
var poundsToUSD = converter(1.52, "$");
var poundsToEUR = converter(1.27, "€");
poundsToUSD(100); // => "€63.50"
poundsToEUR(50); // => "$152.00"