タグ

2010年4月4日のブックマーク (1件)

  • 「何だ今日はカレーか」「いえ、カレーライスです。カレーは部分的よー。」 - uehaj's blog

    curry化の話。 GroovyのClosure#curry()は「カリー化」じゃなくて部分適用だと言われる事があります。なんでそうなんだという話を私の理解している限りで説明してみます。 まず、カリー化というのはラムダ算法方面の話で、関数適用に関する概念です。たとえば、f(x,y)という二引数の関数があったとします。そして、「二引数の関数は嫌だ」と思ったとします。 なんで二引数関数が嫌かというと、数学的に扱いやすくするため1引数の関数の話に一般化したいからです。 一般化がそんなにしたいのかよ、とも思いますが、常に一引数関数の話にも落とせるようにしておくのは何かと便利なのでしょう。まあ、動機付けの話はそれで良しとしましょう。 さて、2引数の関数f(x,y)を、1引数の関数gで表現するには、「f(x,y)」という関数適用について、それを「g(x)(y)」で代用できるようなgを、fを基にしてなん

    「何だ今日はカレーか」「いえ、カレーライスです。カレーは部分的よー。」 - uehaj's blog
    waman
    waman 2010/04/04
    カリー化と部分適用