📚

遅延リストを扱うライブラリと ES2025 Iterator Helpers

に公開
2

Discussion

bleis-tiftbleis-tift

これは遅延評価ではなく、「遅延リスト」や「ストリーム」のような表現が正しいです。遅延評価は評価戦略の話であり、ESの評価戦略は遅延評価ではありません。

petamorikenpetamoriken

ご指摘ありがとうございます。記事も読まさせていただきました。

https://bleis-tift.hatenablog.com/entry/20130102/1357062031

確かに問題がありそうだと思ったため修正しました。
JavaScript の世界で単に「ストリーム」という言葉を使うと WHATWG Streams など別のことを意味してしまいそうだったため、「遅延リスト」の方を選ばせていただきました。

一方で Lazy.js が

So, Lazy.js is basically Underscore with lazy evaluation. Is that it?

https://github.com/dtao/lazy.js#features

と紹介されていたり、英語版の Wikipedia の Lazy evaluation には Simulating laziness in eager languages の例として JavaScript のジェネレーター函数の例

https://en.wikipedia.org/wiki/Lazy_evaluation#JavaScript

が載っていたりと広い意味での「遅延評価」という言葉が流通してしまっている感は否めない気がしますね……。