npm.io
0.0.1 • Published 14 years ago

thunk

Licence
Version
0.0.1
Deps
1
Vulns
0
Weekly
0
Stars
4

Thunk

Usage:

var thunk = require('thunk');

var factorial = thunk.makeTrampoline(function(recurse) {
  return function(cc, n) {
    if (n <= 1) return cc(1);

    return recurse(function(result) { return cc(n * result) }, n - 1);
  };
});

factorial(5) // 120, with a constant stack size.  Aww, yiss.