問題タブ [miranda]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
haskell - 遅延評価はどのようにしてより大きなモジュール化を可能にしますか?
John Hughes は、彼の記事「なぜ関数型プログラミングが重要なのか」で、「関数型プログラマーのレパートリーの中で、おそらく遅延評価はモジュール化のための最も強力なツールである」と主張しています。そうするために、彼は次のような例を提供します。
「infiniteLoop」と「terminationCondition」という 2 つの関数があるとします。次のことができます。
ヒューズの言葉によると、遅延評価は「終了条件をループ本体から分離することを可能にします」。ここで遅延評価を使用する「terminationCondition」は、この条件をループの外で定義できることを意味するため、これは間違いなく当てはまります。terminationCondition がデータの要求を停止すると、infiniteLoop の実行が停止します。
しかし、高階関数は次のように同じことを達成できませんでしたか?
遅延評価は、高階関数では提供されないモジュール化をどのように提供しますか?