[Haskell-cafe] State of Haskell IDE Engine

Alan & Kim Zimmerman alan.zimm at gmail.com
Sat Apr 29 16:40:41 UTC 2017

Some of you have been wondering what has happened to the
and whether it may perhaps have died.

Development has resumed, based mainly on the existence of an enabling
in the Language Server Protocol[2] which is starting to have implementations
for IDEs and Languages[3].

It was always the intention to leverage off common infrastructure at the IDE
side, and this protocol is making that possible.

The current state for haskell-ide-engine is that support is provided in
master[4], which has been tested in emacs using[5] (and [6] until the
branch is

It is also tested against vscode[7] using the vscode-hie-server plugin[8].

Current features include

  - diagnostics provided via hlint and ghc-mod (using flycheck in emacs)
  - hover support giving the type under the cursor
  - ability to apply hlint suggestions as codeActions, via apply-refact
  - HaRe refactorings exposed in the emacs version. The vscode plugin lags
    this, my skills are limited

There is a lot of development happening on the emacs lsp-mode, as it
many languages, not just haskell, and so developers from other languages are
also contributing.

The LSP support for haskell-ide-engine is supplied by a separate library[9]
which is being used in at least 3 other LSP servers to my knowledge. These
be made public when/if it suits their creators to do so.

The general plan going forward is to focus HIE on being an LSP server. Other
transports will not be removed, but the driving paradigm will be LSP

The longer term plan is to use this as a platform to drive more
back into GHC, starting with exploring incremental parsing driven by the
document change notifications provided in the LSP protocol, and supported in


[1] https://github.com/haskell/haskell-ide-engine/issues/218
[2] https://github.com/Microsoft/language-server-protocol
[4] https://github.com/haskell/haskell-ide-engine
[5] https://github.com/alanz/lsp-haskell
[6] https://github.com/alanz/lsp-mode/tree/project-ask
[7] http://code.visualstudio.com/
[8] https://github.com/alanz/vscode-hie-server
[9] https://github.com/alanz/haskell-lsp
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20170429/d75a8eb4/attachment.html>

More information about the Haskell-Cafe mailing list