3 ms·
Now I know where the term Y Combinator came from. Am I the only ignorant one here who had never heard of "The Applicative Order Y Combinator"? JavaScript: fu
by NathanKP 17y ago
Now I know where the term Y Combinator came from. Am I the only ignorant one here who had never heard of "The Applicative Order Y Combinator"?
JavaScript:
function Y(le)
{
return (function (f)
{
return f(f);
}
(function (f)
{
return le(function (x)
{
return f(f)(x);
});
}));
}
Trippy recursive function, but I don't think I quite understand what you would use it for. ;)
- tumult 17y agoRecursion without requiring some kind of name primitive.
- fbru02 17y agoLook at SICP lectures number 7a and 7b they are quite good at explaining this point.
- apgwoz 17y agoThe lambda calculus doesn't really have assignment, so you can't call a function recursively in the way we're used to in modern programming languages. However, Y allows us to give a recursive function a temporary name which we can then use to apply it recursively. It's trippy, for sure, but pretty much theoretical use only for most people.
- brehaut 17y agoHave a look at this little paper by Richard Gabriel http://www.dreamsongs.com/NewFiles/WhyOfY.pdf http://www.dreamsongs.com/NewFiles/WhyOfY.pdf