15
カレーの利点は何ですか?
私はカレーについて学んだばかりで、コンセプトを理解しているとは思いますが、それを使用することに大きな利点はありません。 些細な例として、2つの値を追加する関数を使用します(MLで記述)。カレーなしのバージョンは fun add(x, y) = x + y と呼ばれます add(3, 5) カレー版は fun add x y = x + y (* short for val add = fn x => fn y=> x + y *) と呼ばれます add 3 5 私は、関数の定義と呼び出しから括弧のセットを削除する構文糖衣のように思えます。カリー化は関数型言語の重要な機能の1つとして挙げられてきましたが、現時点ではそれに少々困惑しています。タプルをとる関数の代わりに、それぞれ単一のパラメーターを消費する関数のチェーンを作成するという概念は、単純な構文の変更に使用するのはかなり複雑に思えます。 わずかに単純な構文がカリー化の唯一の動機ですか、それとも私の非常に単純な例では明らかではない他の利点がありませんか?カレーは単なる構文糖ですか?