Y combinator in JavaScript: http://thraxil.org/users/anders/posts/2008/09/15/My-Own-Java...
function Y(X) {
var fn = function(procedure) {
return X(function(arg) {
return procedure(procedure)(arg);
});
};
return fn(fn);
}
Or am I missing something vital here about how it is all working? The shorter version seems clearer to me (not that any of this is clear to me), and functionally equivalent.