Y combinator: Difference between revisions
m
→{{header|M2000 Interpreter}}
Line 3,742:
<lang M2000 Interpreter>
Module Ycombinator {
}
Ycombinator
</lang>
Line 3,759:
<lang M2000 Interpreter>
Module Checkit {
Rem {
Y combinator make argument f
m(m, argument) pass as first argument a copy of m
Y=lambda (f)-> {▼
}▼
}
if n<2 then =1 else =n*m(m, n-1)
}
▲ fac=Y(fac_step)
}
▲ fib_step=lambda (m, n)-> {
}
▲ =m(m, n-1)+m(m, n-2)
▲ fib=Y(fib_step)
▲ For i=1 to 10
▲ Print fib(i), fac(i)
}
Checkit
Print fib(i), fac(i)▼
▲}
Module CheckRecursion {
}
fib=lambda (n) -> {
}
▲ fib=lambda (n) -> {
▲ =lambda(n-1)+lambda(n-2)
}
CheckRecursion
|