Skip to content

Instantly share code, notes, and snippets.

@kghost
Created December 31, 2018 14:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kghost/d0e10df50e9386f4c9711116fe6c2699 to your computer and use it in GitHub Desktop.
Save kghost/d0e10df50e9386f4c9711116fe6c2699 to your computer and use it in GitHub Desktop.
function unfold(p, f, g, seed, reduce, tailgen) {
function recursive(iter) {
if (p(iter)) return tailgen(iter);
return reduce(f(iter), recursive(g(iter)));
}
return recursive(seed);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment