Subscribe Free

Join 2670+ others. No spamming.
I promise!

We are currently under high development. Follow us at github.

Looking for Python Tutorials?
Check these awesome tutorials



commercialhaskell / intero


Complete interactive development program for Haskell


intero Build Status MELPA

Complete interactive development program for Haskell

Intero for Emacs

Please see the homepage for Intero for Emacs.

Default key bindings

Key binding Description
M-. Jump to definition
C-c C-i Show information of identifier at point
C-c C-t Show the type of thing at point, or the selection
C-u C-c C-t Insert a type signature for the thing at point
C-c C-l Load this module in the REPL
C-c C-r Apply suggestions from GHC
C-c C-k Clear REPL
C-c C-z Switch to and from the REPL

Whitelisting/blacklisting projects

Typically Intero will enable for all projects, and for files without a stack.yaml, it will assume the "global" project. Some users prefer to enable Intero selectively. See below how to do that.

Find this line in your Emacs configuration and remove it:

(add-hook 'haskell-mode-hook 'intero-mode)

To whitelist specific directories (and ignore everything else), use:

(setq intero-whitelist '("/work/directories/" "/my/directories/"))
(add-hook 'haskell-mode-hook 'intero-mode-whitelist)

To blacklist specific directories (and allow everything else), use:

(setq intero-blacklist '("/path/to/bad/project" "/path/to/ignore/me"))
(add-hook 'haskell-mode-hook 'intero-mode-blacklist)

Intero for IDE writers

Please see the file for how to use Intero to integrate your own editor..


Issues are split into low/medium/high priorities which dictates which ones will be implemented first.