15 lines
324 B
Plaintext
15 lines
324 B
Plaintext
local function y(f)
|
|
local g = |r| -> f(|x| -> r(r)(x))
|
|
return g(g)
|
|
end
|
|
|
|
local almost_fac = |f| -> (|x| -> x <= 1 ? 1 : x * f(x - 1))
|
|
|
|
local almost_fib = |f| -> (|x| -> x <= 2 ? 1 : f(x - 1) + f(x - 2))
|
|
|
|
local fac = y(almost_fac)
|
|
local fib = y(almost_fib)
|
|
|
|
print($"fac(10) = {fac(10)}")
|
|
print($"fib(10) = {fib(10)}")
|