プログラムを純粋に書けって言われたけど、どこまで純粋に書けばいいの?

今、関数型言語の流行により、プログラムを純粋に書くことが求められています*1。 そういわれて、「わかった、副作用のないプログラムを書くぞ!」と勇んで書き始めるとすぐにわかりますが、これがなかなか簡単なものではありません。 純粋な関数を定義するのは簡単ですが、純粋な関数というのは連鎖します。状態を保持す…