* Preparing Emacs front-end **Downloading Please use *stable* [MELPA https://stable.melpa.org/] to download Emacs front-end. So, your "~/.emacs" should be: >| (require 'package) (add-to-list 'package-archives '("melpa" . "https://stable.melpa.org/packages/")) (package-initialize) |< The package name is "ghc". Please don't forget ["install the latest cabal command" install.html]. **Configuring "~/.emacs.el" Then, put the followings to your "~/.emacs.el" or "~/.emacs.d/init.el": >| (autoload 'ghc-init "ghc" nil t) (autoload 'ghc-debug "ghc" nil t) (add-hook 'haskell-mode-hook (lambda () (ghc-init))) |< IMPORTANT: if your haskell-mode-hook includes (flymake-mode), please remove it. **Testing Executes Emacs and opens a Haskell file by C-xC-f. And try to complete any keywords by M-C-i. **Debugging ghc-mod/ghc-modi must be compiled by GHC which you are actually using from Emacs. The version of Emacs front-end and ghc-mod/ghc-modi must be the same. To confirm this, type M-x ghc-debug. >| Path: check if you are using intended programs. ghc.el path: /Users/kazu/work/ghc-mod/elisp/ghc.el ghc-mod path: /Users/kazu/Library/Haskell/bin/ghc-mod ghc-modi path: /Users/kazu/Library/Haskell/bin/ghc-modi ghc path: /usr/local/ghc-7.8/bin/ghc Version: all versions must be the same. ghc.el version 4.1.0 ghc-mod version 4.1.0 compiled by GHC 7.8.2 ghc-modi version 4.1.0 compiled by GHC 7.8.2 The Glorious Glasgow Haskell Compilation System, version 7.8.2 |< If you put (setq ghc-debug t) to your ".emacs", you can watch the communication between Emacs front-end and ghc-modi in the "*GHC Debug*" buffer. **Customizing If you want to specify GHC options from Emacs, set "ghc-ghc-options". The following is an example to specify the "-i" options to GHC. >| (setq ghc-ghc-options '("-idir1" "-idir2")) |< An example to specify HLint options: >| (setq ghc-hlint-options '("--ignore=Use camelCase")) |<