>>878,>>892のじゃんけんゲーム作ってたものですが、終了するか聞いて、Yesなら終了。Noならじゃんけんをまた始めるように改良しました。
60行近くなったので、skyDriveにうpしておきます。
(うpするようなコードじゃないんですけどね・・・)

https://skydrive.live.com/#!/?cid=C4A8AEA1FE363811&id=C4A8AEA1FE363811%21767&sc=documents

それで、このコード動かしてて思ったんですが、IO関係の関数を関数内に含んでる関数は、再帰呼び出ししてもスタック消費してないのでしょうか?
また、それはなぜなのでしょうか?

yesコマンドをパイプでつないで2時間くらい自動実行してもスタックオーバーフローにならなかったのですが・・・
(Win環境なのでyesコマンドも自作してみました。「Haskell で UNIX コマンドを書こうシリーズ」でググると出てきます。使い方は「yes [好きな文字列(複数可)] | janken」)