package Ġcom . pack tp ub . function alk otlin . chapter 1 0 Ċ Ċ // Function Ċ fun Ġ< A , ĠB , ĠC > Ġ(( A ) Ġ-> ĠB ). map ( transform : Ġ( B ) Ġ-> ĠC ): Ġ( A ) Ġ-> ĠC Ġ= Ġ{ Ġt Ġ-> Ġtransform ( this ( t )) Ġ} Ċ Ċ fun Ġ< A , ĠB , ĠC > Ġ(( A ) Ġ-> ĠB ). flatMap ( fm : Ġ( B ) Ġ-> Ġ( A ) Ġ-> ĠC ): Ġ( A ) Ġ-> ĠC Ġ= Ġ{ Ġt Ġ-> Ġfm ( this ( t ))( t ) Ġ} Ċ Ċ fun Ġ< A , ĠB , ĠC > Ġ(( A ) Ġ-> ĠB ). ap ( fab : Ġ( A ) Ġ-> Ġ( B ) Ġ-> ĠC ): Ġ( A ) Ġ-> ĠC Ġ= Ġfab . flatMap Ġ{ Ġf Ġ-> Ġmap ( f ) Ġ} ĊĊ Ċ object ĠFunction 1 Ġ{ ĊĠĠĠ Ġfun Ġ< A , ĠB > Ġpure ( b : ĠB ) Ġ= Ġ{ Ġ_: ĠA Ġ-> Ġb Ġ} Ċ }