RosettaCodeData/Task/Function-composition/Kotlin/function-composition.kotlin

13 lines
234 B
Plaintext

// version 1.0.6
fun f(x: Int): Int = x * x
fun g(x: Int): Int = x + 2
fun compose(f: (Int) -> Int, g: (Int) -> Int): (Int) -> Int = { f(g(it)) }
fun main(args: Array<String>) {
val x = 10
println(compose(::f, ::g)(x))
}