1

https://wiki.haskell.org/Do_notation_considered_harmfulを読んでいて、次の行を読んで驚いた

初心者は、ステートメントの順序が実行の順序を決定すると考えるかもしれません。... ステートメントの順序も評価順序の基準ではありません。

wiki の投稿では、このプロパティを示すいくつかの例を示しました。例は理にかなっていますが、私はまだステートメントが真実であると完全には信じていません。

main = do
  putStrLn "foo"
  putStrLn "bar"
  putStrLn "baz"

3 行は、ステートメントの順序で出てきます。では、ここで何が起こっているのでしょうか。

4

1 に答える 1