Y-Combinator
// combinator literal
f => (x => x(x))(x => f(y => x(x)(y)))
function combine (fn) {
function combinate () {
return fn(y => combinate()(y))
}
return combinate()
}
const Y =
f => (x => x(x))(x => f(y => x(x)(y)))
function recursive (fn) {
return fn(next => recursive(fn)(next))
}
const fibinanci = recursive(
recurse => n => (
n <= 2
? 1
: recurse(n-1) + recurse(n-2)
)
);
console.log(number)