空白ゴルフを通して知ったAnarchyGolfの優しいところ?

このところCodeGolfでWhitespaceにはまっています。なぜWhitespaceかって?他の言語じゃ太刀打ちできないからだよ。。
さて、ぽぽぽぽーんでおなじみのCMがAnarchyGolfの問題になっていました。
http://golf.shinh.org/p.rb?Greeting+Animals
これを解いて知ったAnarchyGolfの優しいところを3つご紹介します。

「エラーぐらい見逃してやんよ」

Whitespaceの入力命令にはEOFを検知する手段がありません。EOFに到達した時点でエラー吐いて落ちます。

Fail: : hGetChar: end of file

で、戻り値も1になってしまうのでGolfもFailed扱いかと思っていたんですが、通りました。Whitspaceの特例なのか他の言語もなのかはわかりませんが、とにかくエラーは見逃してくれるようです。

「LFはサービスしておいたぜ」

FailedにならないとはいえEOFを検知できないのはプログラム的にも面倒だったりします。最後の文字まで読み込んで処理するとか。
今回書いたコードだと出力するまえに改行まで読み取ろうとするので、LFがこないとその行は出力されません。なので、ideoneのinputには最後にLFを余分に付けてあります。
http://ideone.com/brvVk(でも表示上はトリムされてしまう)
ところがこのままGolfにSubmitすると、なぜか動く。ということは

  • Golfが勝手にLFを付けてくれた(それってどうなの)
  • そもそもtest inputにはLFがあったのに、表示上はトリムされているだけ

のどちらかだとは思うんですが・・・これまた謎です。

「余分についてたLF?ああ消しておいたよ」

実は今回のコードは最後の行でもLFをつけて出力してしまいます。だから

yukaina nakamaga popopopo-n

が期待されていても

yukaina nakamaga popopopo-n\n

と出力するはずなんです。単純に考えてこれ不正解ですよね。
ところがこのまま通っています。Result画面でも\n消えてるし。
ここまでくると最後のLFは除いて判定してくれたと思うんですが・・・意外と親切なんですね(