jneen / thunk.js

A generator for trampoline-evaluated recursive algorithms.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

A generator for trampoline-evaluated recursive algorithms.


Languages

Language:JavaScript 100.0%