cabalでreadlineをインストールするときにhomebrewで入れたreadlineを使う。
オプションを2つほど入れとく
cabal install readline \ --configure-option=--with-readline-libraries="/usr/local/Cellar/readline/6.2.2/lib" \ --configure-option=--with-readline-includes="/usr/local/Cellar/readline/6.2.2/include"
追記 120709
haskelineというものを教えてもらった。
これはよりhaskellっぽくかけて、高機能らしい。~/.haskelineでユーザー設定変えたりCtrl-Cの挙動を変えたりできる。
main :: IO () main = runInputT defaultSettings loop
ってやっておけばあとはreadlineと同じノリで書いていけるし、最初からこっちを使うようにすればいいかなと思った。