関数 f(x,y) をカリー化するとは、関数 g を
view source
print?
1.f(x,y) = g(x)(y)

が常に成り立つ関数にすることです。

関数gの引数は、x ひとつです。xは、元の関数 f の最初の引数ですね。

関数gの戻り値は、「元の関数 f の残りの引数を取り、fと同じ型の結果を返す関数」です。つまり、戻り値は関数です。

今日はこのカリー化について F#ではなく、C#で考えてみます。

先ほどの、カリー化の定義を、もうすこし、わかりやすいC#風のコードを使って書きなおすと