>>697
1行目はLという名前の関数にxを渡してるだけ
 fun func(x:int, y:(Int)->Int) {
   return L(x)
 }
の省略表記
ただ、引数のyが無視されているので
L(x) じゃなくて y(x) の間違いなんじゃねって気がする

2行目は代入云々はその理解で合ってるけど
「実行している」のではなく「定義して渡している」
実際そのコードではyが呼ばれてないのでその掛け算は実行されない