>>35
> 「関数間にまたがってまで計算順序を意識する必要がない」とようないう意味だね?

こちらこそ、なるほどなと思わせる解釈だが、私の言いたかったことは半分正解

当然ながら計算を追うには複数の関数を跨がないといけない
関数Aの中で関数Bと関数Cを使っていたら、
関数Aの最終的な値が「計算される仕組み=計算過程」を知るには
関数Bも関数Cも計算を追わないと絶対にわからない

ただ、関数Bや関数Cは(関数Aのlet節やwhere節で宣言されたものでないかぎり)
普通は関数Aの環境からは独立しているはずだ
もちろん互いの環境とも独立しているはず

であれば、関数Bの計算は、関数Cの計算とは全く関係ないはずだ
参照透過性ゆえに「自動的に」そうならざるをえない

なので、たとえば関数Bのデバッグは関数Cとは独立して行える
これが「各宣言を独立に扱える」ということ

関数Aの計算過程を追うには関数Bや関数Cを跨ぐ必要があるが、
関数Bや関数Cの計算過程を追うには関数間をまたぐ必要がない
だから(私が言いたかったことに関しては)半分正解

ちなみに、関数Bの戻り値に関数Cを適用すればまたがるだろという意見もあろうが、
それでも関数Cを計算する仕組みは変わらない
関数Cを引数の値によって計算そのものを変える事もできてしまうが、
そこまで行くと筋の悪るすぎるHaskellプログラムだから論外だ