引数
Haskellなどの遅延評価型関数言語に見られる形態で、値が実際に必要になるまで計算を行わない方法。概念上は、計算方法を遅延したthunkと呼ばれるオブジェクトが渡っていると考えられる。
xはiを渡されているのでiがyの値になる。yはa[i]だから、iはaの2番目の値になる。