hastebrot
10/27/2016, 2:10 PMchain
function:
fun main(args: Array<String>) {
println(chain(::identity, ::successor, ::squared)(2))
}
fun identity(value: Int) = value
fun successor(value: Int) = value + 1
fun squared(value: Int) = value * value
fun <A, B, C, D> chain(f1: (A) -> B,
f2: (B) -> C,
f3: (C) -> D) = { it: A -> f3(f2(f1(it))) }