ふつうのHaskellプログラミング

ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門
まーた使いもしない言語の本を読み物として買っちまっただよ。そして会社の机を無駄に占有するのだ。まだ頭の方をちょっと読んだだけだけど、 Ruby の設計思想の一部がわかったような気がする。
前にどっかで関数型言語の概説を読んだとき、「純粋な関数型言語は関数の実行にともなう外部への副作用*1が一切ない」みたいなことが書いてあって、「それじゃ入出力はどうやるんだよ? 入出力できないプログラム言語って使えるのか?」と不思議に思っていたものだが、この本を読んで謎が解けた。何のことはない、

ちなみに、 Haskell では入出力が鬼門です。

なのだそうだ。なんでい、やっぱり関数型言語の概念とは相容れないんじゃんか。これをアクションとかモナドとかの概念でくるんで無理やり抽象化してるあたりが言語設計上の妥協点なのだと理解しますた。