C#版
|
JavaScript版
1
2
3
4
5
6
7
8
|
var
Y =
function
(F) {
return
(
function
(x) {
return
F(
function
(y) {
return
(x(x))(y);});
})
(
function
(x) {
return
F(
function
(y) {
return
(x(x))(y);});
}) ;
} ;
|
应用
01
02
03
04
05
06
07
08
09
10
11
12
|
// var g = λf.λn.(n <= 1 ? 1 : n * f(n - 1))
var
g =
function
(f) {
return
function
(n) {
if
(n <= 1) {
return
1
}
else
{
return
n*f(n-1);
}
}
}
alert(Y(g)(5))
|