Happy Haskell programming on Emacs/Vim For Vim users: see https://github.com/eagletmt/ghcmod-vim For Emacs users: read the followings: Features: 1) Completions of keyword, module, class, function, types, language extensions, etc. 2) Flymake with GHC and hlint 3) Inserting code template The "ghc-mod" program written in Haskell is a backend to gather information from GHC and hlint. Elisp libraries including ghc-mod is an extension to haskell-mode. You should put the followings in your "~/.emacs.el": (autoload 'ghc-init "ghc" nil t) (add-hook 'haskell-mode-hook (lambda () (ghc-init))) or (add-hook 'haskell-mode-hook (lambda () (ghc-init) (flymake-mode))) Changes: If you have customized GHC import-path like follows, (setq ghc-flymake-check-includes '("dir1" "dir2")) You may update your settings as follows. (setq ghc-ghc-options '("-idir1" "-idir2")) or (setq ghc-ghc-options '("-idir1:dir2")) Now, you can simply pass GHC options to ghc-mod sub-commands. For more information, see: http://www.mew.org/~kazu/proj/ghc-mod/