1. ホーム
  2. haskell

[解決済み] なぜ遅延評価が有効なのか?

2022-07-19 02:17:35

質問

私は長い間、なぜ遅延評価が有用なのか不思議に思っていました。私はまだ誰も意味のある方法で私に説明したことがありません。ほとんどの場合、それは "私を信じてください" に集約されることになります。

注意: 私はメモ化を意味するものではありません。

どのように解決するのですか?

ほとんどの場合、その方が効率的だからです。値が使用されないのであれば、計算する必要はありません。たとえば、関数に 3 つの値を渡すことがありますが、条件式の順序によっては、実際に使用されるのはサブセットだけかもしれません。C言語のような言語では、3つの値すべてがとにかく計算されますが、Haskellでは必要な値だけが計算されます。

また、無限リストのようなクールなものも可能です。Cのような言語では無限リストを持つことはできないが、Haskellでは問題ない。無限リストは数学のある分野ではかなり頻繁に使われるので、それを操作する能力があると便利です。