スゴイ。
型を指定しなくても、コンパイラが型をチェック出来るだなんて。
「変数・引数・戻り値を、具体的なクラスよりも、interface にするように」
って、わざわざ気をつけなくても、
自動的に、型に(必要以上に)縛られないプログラムを書けてしまう?
そうか、文字数カウントのはずのプログラムで、
バイト数カウントができてしまったのは、これのせいか。
Javaでエンコーディング変換用のフィルタを作って、GHCに被せる事は出来ないかな?
runghc(インタプリタ)ならば、パイプでフィルタを経由するようにしたコマンドを、
エイリアスにしてしまえば、違和感なく使えそうな気がする。
ghc(コンパイラ)では、exeファイルへの入出力にパイプをかませる必要があるので、
エイリアスで楽するのは無理だけど。