aboutsummaryrefslogtreecommitdiffstats
path: root/tests/manual/v4/fun.3.js
blob: 5add270f3567117c5ce103c1720b0dc21690198e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

function fix(f) {
    var k = function (x) {
        return f(function (z) { return x(x)(z) })
    }
    return k(k)
}

var F = function (f) {
    return function (n) {
        return n == 0 ? 1 : n * f(n - 1)
    }
}

var fact = fix(F)

print("the factorial of 12 is", fact(12))