問題タブ [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.

0 投票する
0 に答える
175 参照

haskell - Haskell と Miranda 以外に、デフォルトで遅延評価される言語はありますか?

ウィキペディアのページでは、Haskell と Miranda のみが言及されています。

elmについてはよくわかりません。

他のいくつかの言語では、関数を遅延計算することを特に簡単に宣言できます。

モジュールやスクリプト ファイルを遅延評価するなど、グローバル スイッチを持つプログラミング言語はありますか?

0 投票する
1 に答える
337 参照

haskell - 遅延評価はどのようにしてより大きなモジュール化を可能にしますか?

John Hughes は、彼の記事「なぜ関数型プログラミングが重要なのか」で、「関数型プログラマーのレパートリーの中で、おそらく遅延評価はモジュール化のための最も強力なツールである」と主張しています。そうするために、彼は次のような例を提供します。

「infiniteLoop」と「terminationCondition」という 2 つの関数があるとします。次のことができます。

ヒューズの言葉によると、遅延評価は「終了条件をループ本体から分離することを可能にします」。ここで遅延評価を使用する「terminationCondition」は、この条件をループの外で定義できることを意味するため、これは間違いなく当てはまります。terminationCondition がデータの要求を停止すると、infiniteLoop の実行が停止します。

しかし、高階関数は次のように同じことを達成できませんでしたか?

遅延評価は、高階関数では提供されないモジュール化をどのように提供しますか?