23 lines
419 B
Plaintext
23 lines
419 B
Plaintext
define Y(f);
|
|
procedure (x); x(x) endprocedure(
|
|
procedure (y);
|
|
f(procedure(z); (y(y))(z) endprocedure)
|
|
endprocedure
|
|
)
|
|
enddefine;
|
|
|
|
define fac(h);
|
|
procedure (n);
|
|
if n = 0 then 1 else n * h(n - 1) endif
|
|
endprocedure
|
|
enddefine;
|
|
|
|
define fib(h);
|
|
procedure (n);
|
|
if n < 2 then 1 else h(n - 1) + h(n - 2) endif
|
|
endprocedure
|
|
enddefine;
|
|
|
|
Y(fac)(5) =>
|
|
Y(fib)(5) =>
|