main = do
runSome
runAnother
runMore

みたいになってるときに、runMoreが確実に実効されるわけではなくて、もちろん「電源が落ちる」とか「PCが爆発する」とかそういう話ではなくて、言語の機能としてrunMoreは実行されない可能性がある。

例外の話。

なので、「サーバー室にジェイソンが乱入したとかそういう場合以外はrunMoreは確実にやってほしいな」と思ったら。

main = (runSome >> runAnother) `finally` runMore

みたいにする。

こういう「感覚」みたいなものを、ひとつずつ身につけていくのが、プログラミングに習熟するということなんだろうな、と。
avatar