デフォルトでは、GHCでビルドされたアプリケーションは開始時にコンソールウィンドウを開く。コンソールウィンドウなしのGUIのみのアプリケーションをビルドしたいなら、リンクの段階で--optl-mwindows
を使えば良い。
警告:WindowsのGUIのみのプログラムにはstdin、stdout、stderrがないので、通常のHaskellのIO関数を使うと、次のようなIO例外でプログラムが失敗する。
Fail: <stdout>: hPutChar: failed (Bad file descriptor)
ただし、Debug.Trace.traceは問題ない。Windowsのデバッグ出力サポートを利用するからである。
Mingwにはreadline
ライブラリが付属しているが、なぜかreadline
ヘッダは付属していない。このため、GHCは(Hugsと同様)Windowsでの対話的入力時にreadline
を使わない。emacsのシェルバッファを使うことで近いものを得ることはできる。