Partial application
日本語では部分適用と呼ぶようですが、関数型言語をやってないと馴染みがないですね。誤解を恐れずに動きだけを言うと、N個の引数を取る関数にM(M < N)個の引数を渡すと、N-M個の引数を取る関数を返します。説明を読むよりサンプルを見た方が早いと思うので、簡単な例を。
def add (x : int, y : int) { x + y; } def add7 = add (_, 7); /* // これと同じ def add7 = fun (x) { add (x, 7); } */ System.Console.WriteLine ( add7 (5) ); /* 結果 12 */
'_'が省略された引数を意味します。