/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠN az mul ĠI dr is ĠAll Ġrights Ġreserved . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġlamb das Ċ Ċ // ĠL amb das Ġ& ĠHigh er Ġorder Ġfunctions Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĊĠ Ġ// ĠL amb das ĊĠ Ġval Ġf Ġ= Ġ{ Ġa : ĠInt , Ġb : ĠInt Ġ-> Ġa Ġ+ Ġb Ġ} ĊĠ Ġprintln (" f ( 1 , Ġ 3 ) Ġ= Ġ${ f ( 1 , Ġ 3 )} ") ĊĊĠ Ġval Ġf 2 Ġ= Ġf ĊĠ Ġprintln (" f 2 ( 1 , Ġ 3 ) Ġ= Ġ${ f 2 ( 1 , Ġ 3 )} ") ĊĊĠ Ġval Ġf 4 Ġ= Ġ:: f 3 ĊĠ Ġprintln (" f 4 ( 1 , Ġ 3 ) Ġ= Ġ${ f 4 ( 1 , Ġ 3 )} ") ĊĊĠ Ġval Ġf 5 Ġ= Ġ{ Ġa : ĠInt , Ġb : ĠInt Ġ-> Ġa Ġ* Ġb Ġ} ( 2 , Ġ 2 ) ĊĠ Ġprintln (" f 5 Ġ= Ġ$ f 5 ") ĊĊĠ Ġ// ĠHigh er Ġorder Ġfunctions ĊĠ Ġlog ( f , Ġ 2 0 , Ġ 2 0 ) ĊĠ Ġlog (:: f 3 , Ġ 1 0 , Ġ 1 0 ) Ċ Ċ } Ċ Ċ // ĠHigh er Ġorder Ġfunction Ċ fun Ġlog ( fp 1 : Ġ( Int , ĠInt ) Ġ-> ĠInt , Ġp 1 : ĠInt , Ġp 2 : ĠInt ) Ġ{ ĊĠ Ġprintln ( fp 1 ( p 1 , Ġp 2 )) Ċ } Ċ Ċ fun Ġf 3 ( p 1 : ĠInt , Ġp 2 : ĠInt ): ĠInt Ġ{ ĊĠ Ġreturn Ġp 1 Ġ* Ġp 2 Ċ }