Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/simonrichardson/bounces

Implementation of a trampoline
https://github.com/simonrichardson/bounces

Last synced: 22 days ago
JSON representation

Implementation of a trampoline

Awesome Lists containing this project

README

        

# Trampoline

Reifies continutations onto the heap, rather than the stack. Allows
efficient tail calls.

Example usage:

```javascript
function loop(n) {
function inner(i) {
if(i == n) return done(n);
return cont(function() {
return inner(i + 1);
});
}

return trampoline(inner(0));
}
```

Where `loop` is the identity function for positive numbers. Without
trampolining, this function would take `n` stack frames.