EmacsのM-x compileでコンパイルする

ghcの--makeオプションは優秀なので、ちょっと試すだけのプログラムはわざわざMakefileを書かなくてもいいように思います。
以下のようにHaskellのソースファイルの書いておくと、EmacsのM-x compileでコンパイルするときにそのコマンドが使えます。もしエラーがあってコンパイルが止った場合には、M-x next-errorでエラーのあった行にジャンプできます。この辺、よく使うのでglobal-set-keyで適当なキーに割り当てておくといいと思います。
ファイル: hoge.hs

main = print 123 -- => 123

-- Local Variables:
-- compile-command: "ghc -W -fno-warn-unused-matches --make -o hoge hoge"
-- End: