github.com/mattn/anko@v0.1.10/_example/scripts/z-combinator.ank (about) 1 #!anko 2 3 func Z(f) { 4 return (func(x) { 5 return f(func(y) { 6 return x(x)(y) 7 }) 8 })(func(x) { 9 return f(func(y) { 10 return x(x)(y) 11 }) 12 }) 13 } 14 15 println(Z(func(f) { return func(n) { return n == 0 ? 1 : n * f(n - 1) } })(5) == 120)