let recurr = fn => fn(
(f => f(f))
(self =>
x =>
fn(self(self))(x)
)
)
recurr(
main=>
n=>(
recurr(
fac =>
n =>
n <= 1 ?
1 :
fac(n - 1) + fac(n - 2)
),
n < 5?
main(n + 1):
null
)
)
(10)let recurr = fn => fn(
(f => f(f))
(self =>
x =>
fn(self(self))(x)
)
)
recurr(
main=>
n=>(
console.log(recurr(
fac =>
n =>
n <= 1 ?
1 :
fac(n - 1) + fac(n - 2)
)(n)),
n < 10?
main(n + 1):
null
)
)
(1)let recurr = fn => fn(
(f => f(f))
(self =>
x =>
fn(self(self))(x)
)
)
recurr(
main=>
async n=>(
console.log(recurr(
fac =>
n =>
n <= 1 ?
1 :
fac(n - 1) + fac(n - 2)
)(n)),
await new Promise((resolve)=>setTimeout(resolve, 1000)),
n < 20?
main(n + 1):
null
)
)
(1)