と呼ばれるプログラミング手法が、通常のコールバックインターフェイス(JavaのObserver/Observableインターフェイス、または従来のVisitorデザインパターンなど)とどのように違うかを理解しようとしています。function curryingと普通のコールバックメソッド
私はカレー化が何であるか理解していますが、独自の用語と言語サポートが必要な点でユニークな理由が分かりません。
誰かが、コールバック方式よりもカリングする方がよいプログラミング状況について説明できますか? curryingが各引数に別々の関数を使用するという事実の実際的な意義は何ですか?私は持っている答えを要約する:curryingは、関数が "ファーストクラス"の市民、つまり他のオブジェクト参照と同様に生成され、渡されるオブジェクトであるという事実に基づいています。これにより、関数から関数、つまりカリングを返すことができます。カリー化が有用である理由については
、カリー化はあなたが簡潔派生関数は、最小限の定型的なコードのオーバーヘッドを作成することができるように、関数呼び出し飾るようにする構文を提供します。 javaでは、すべてのパラメータを含むマスターメソッドを最終的に呼び出す各部分パラメータセットに対して、いくつかのオーバーロードされた「ラッパー」メソッドを作成することができますが、カリングは、コード内で必要に応じてこれらの「関数ラッパー」を生成できる、
私はそれが(学問的な意味を除いて)より良いことを知らないが、それは問題の考え方の違いの一部に過ぎない。 curryingは、他の機能的なイディオムと共に、熟練したプログラマーが表現力を犠牲にせずにアイデアを簡潔に伝える方法を持っています。 – jpm
これらの回答に投票、同意、またはコメントすることができます。 – Marcin
@Marcin:私はカリングがコールバックができないことの例を尋ねてきました。まだそれを待っています... – Magnus