Autonomy 
Autonomy is a lightweight functional helper library. It is meant to complement an ES5 style with curried helpers, math helpers, curried accessors and higher order looping constructs.
These library is partly inspired by Haskell's Prelude, but its exports are optimized for JavaScript semantics and performance. It does not try to make JavaScript into something it's not.
Usage
Attach it to the short variable of choice:
var $ = require('autonomy');
and get functional:
$.id(x) === x;
$.noop(x) === undefined;
[1,3,2].map($.constant(5));
[1,2,3,4,3].filter($.elem([1,3]));
[1,3,5,-1].some($.notElem([1,2,3,4,5]));
$.gcd(10, 15);
[1,2,3,4,5,6].filter($.even);
$.range(5);
$.zip($.range(5), [1,2], [3,2,5]);
$.zipWith($.plus2, [1,1,1], $.range(5));
$.iterate(3, "ha!", function (str) {
return "ha" + str
});
[[1,2], [3,4]].map($.invoke('join','w'));
Read the read the API.
It could also be worth looking at the operators module, which provides some excellent functional helpers for this module.
Note this module can be gotten directly as is, or gotten via the larger utility library: interlude for which it originally was made.
Installation
$ npm install autonomy
Running tests
Install development dependencies
$ npm install
Run the tests
$ npm test
License
MIT-Licensed. See LICENSE file for details.