@ file : Suppress (" unused ") Ċ Ċ val Ġaction : Ġ() Ġ-> ĠUnit Ġ= Ġ{ Ġprintln (" Function Ġassigned Ġto Ġa Ġproperty ") Ġ} Ċ Ċ val Ġincrement Function : Ġ( Int ) Ġ-> ĠInt Ġ= Ġ{ Ġi Ġ-> Ġi Ġ+ Ġ 1 Ġ} ĊĊ Ċ fun Ġcreate Action (): Ġ() Ġ-> ĠUnit Ġ{ ĊĠĠĠ Ġreturn Ġ{ Ġprintln (" I 'm Ġa Ġlambda ") Ġ} Ċ } ĊĊ Ċ fun Ġconsume Action ( action : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġaction () ĊĠĠĠ Ġaction . invoke () Ċ } ĊĊ Ċ fun Ġpassing Function Types () Ġ{ ĊĠĠĠ Ġconsume Action ( action ) ĊĠĠĠ Ġconsume Action Ġ{ Ġprintln (" Lambda Ġpassed Ġto Ġfunction ") Ġ} ĊĠĠĠ Ġconsume Action (:: another Action ) ĊĊĠĠĠ Ġval Ġaction Holder Ġ= ĠAction Holder () ĊĠĠĠ Ġconsume Action ( action Holder :: action ) Ċ } Ċ Ċ fun Ġanother Action () Ġ{ ĊĠĠĠ Ġprintln (" Member Ġreference ") Ċ } Ċ Ċ class ĠAction Holder Ġ{ ĊĠĠĠ Ġfun Ġaction () Ġ= Ġprint (" Member Ġreference Ġcalled Ġfrom Ġclass ") Ċ }