カリー化
カリー化 (currying, カリー化された=curried) とは、複数の引数をとる関数を、引数が「もとの関数の最初の引数」で戻り値が「もとの関数の残りの引数を取り結果を返す関数」であるような関数にすること(あるいはその関数のこと)である。クリストファー・ストレイチーにより論理学者ハスケル・カリーにちなんで名付けられたが、実際に考案したのはMoses Schönfinkelとゴットロープ・フレーゲである。
ごく簡単な例として、f(a, b) = c という関数 f があるときに、F(a) = g(ここで、g は g(b) = c となる関数である)という関数 F が、f のカリー化である。
関数 f が f : ( X × Y ) → Z {\displaystyle f:(X\times Y)\to Z} の形のとき、 f {\displaystyle f} をカリー化したものを g {\displaystyle g} とすると、 g : X → ( Y → Z ) {\displaystyle g:X\to (Y\to Z)} の形を取る。uncurryingは、これの逆の変換である。