generated at
カリー化

k変数関数を1変数を受け取ってk-1変数関数を返す高階関数にすること
f(x,y) => x^2+y^2; 普通の 2 変数関数
f(x) => (y) => x^2+y^2; 1 変数を受け取って 1 変数を返す高階関数
f(x)(y) というふうに呼び出せる
ここまで来ると関数呼び出しにカッコが要らないのではないかと考える人が出てくる
そしてλ計算Haskellへ……

\lambda計算ではカリー化の意識をせずにカリー化を行える
\lambda xy.(xy) = \lambda x.(\lambda y.(xy))というふうにできる
前者を.(\lambda\cdots)を省略したものとみなして書き換えるため、カリー化という意識はない。
カッコを補って読みやすくしようぐらいのノリ


もしかして