駆け足で読む『プログラミングHaskell』11 遅延評価

  • 複数の関数を適用するとき、どういう順番で関数適用するかを問題にする
    • 外側から、対、内側から
    • 名前渡し、対、値渡し
    • curry化することと関係がある(順序がわかるようにカッコを明示的に書くとわかる)
    • 無限再帰の場合などでは、値渡しでは停止しないが、名前渡しなら停止するかもしれないことと、無限再帰を扱えることは関係する
    • 場合によっては外側から(名前渡し)で評価するばかりではなく、内側から評価してやることが適当な場合も出る、そのように評価順序を制御する演算子が"$!"で、正格評価(strict evaluation)と呼ぶらしい