import io:* fun runLambda(func: fun():int):void { println(func()) } fun somethingElse():int { return 4; } //fun callLambda(func: fun(int):void):void { //func(10) //} //fun itr(it: T, func: fun(T):T):T { //println(it) //return func(it); //} fun main():int { //var func = fun():void { println("8"); } //func() //runLambda(fun():int { return 9;}) //callLambda(fun(a:int):void { println(a);}) //var j = 0 //while (j < 10) j = itr(j, fun(a:int):int { return a+1; }) runLambda(somethingElse) println("closures now") var a = 1337 runLambda(fun():int { return a;}) return 0 }