カリー化( Currying )と部分適用( Partial Application )がちがうということについて、すっきりわからない、という話があるようなので書いてみる 前提 元の関数は 2 引数とし、ある式の後に (...) を付けることで適用をあらわす( Python 風)とする。関数そのものについての表記(「f(x, y) = x + y」のような)と、関数適用の表記(「f(1, 2)」のような)は文脈によって判断してください 本稿では、演算の優先を表すためのカッコは視認性のため [ ] を使う(理解を助けるため冗長になっても積極的に使う) 高階関数というものに対する理解は既にあるものとする カリー化 たとえば、ある関数 foo(x, y) があるとして、これを、 foo(a, b) = [curried_foo(a)](b)となるような(高階)関数 curried_foo にする