Scheme事始め5:関数のカリー化

  • 複数の変数からなる関数があったとき、その変数を1つずつ(プログラムの中で)扱うことをカリー化と言う(らしい)
  • f(x,y,z) =F_1(z,F_2(y,F_3(x)))のようなこと
  • Schemeで書くとこんな感じ?下がカリー化風?
> ((lambda (x y z) (+ x y z)) 2 3 4)

9
> ((lambda (z) (+ z ((lambda (y) (+ y ((lambda (x) (+ x)) 2) )) 3 ))) 4 )

9