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)