遅延評価

例のwikiでは、Readerモナドに環境についての情報が全部入っている。
例えば、サイドバーを使わないページを出力するときでも、サイドバーのデータをファイルから読み込むようになっている。でも、Haskellならどうせ遅延評価されるから関係ないと思ってた。

先ほど、存在しないファイルから初期化時の環境を読み取るように指定したところ、エラーがでた。そのデータを使う必要はないページにアクセスしようとしても同様である。

どういうことだろう。readFileとかは、ファイルの有無の確認だけ先にするのだろうか。