Haskell library for the Microsoft Language Server Protocol https://github.com/alanz/haskell-lsp

Version on this page:
LTS Haskell 11.0:
Stackage Nightly 2018-03-12:
Latest on Hackage:

See all snapshots haskell-lsp appears in

MIT licensed by Alan Zimmerman
Maintained by alan.zimm@gmail.com

Module documentation for

There are no documented modules for this package.

CircleCI Hackage


Haskell library for the Microsoft Language Server Protocol

Warning: this library and its associated ecosystem is under development at the moment. So do not have high expectations, it is not ready for casual use.


To see this library in use you need to install the haskell-ide-engine

git clone https://github.com/haskell/haskell-ide-engine
cd haskell-ide-engine
stack install

This will put the hie executable in your path.

Then, run the plugin in vscode:

git clone https://github.com/alanz/vscode-hie-server
cd vscode-hie-server
code .

In vscode, press F5 to run the extension in development mode.

You can see a log from hie by doing

tail -F /tmp/hie-vscode.log

There are also facilities on the code to send back language-server-protocol log and show events.

It can also be used with emacs, see https://github.com/emacs-lsp/lsp-haskell

Using the example server

stack install

will generate a lsp-hello executable.

Changing the server to be called in the vscode-hie-server plugin from hie to lsp-hello will run the example server instead of hie.

Likewise, changing the executable in lsp-haskell for emacs.

  • https://github.com/Microsoft/language-server-protocol/blob/master/protocol.md

Other resource

See #haskell-ide-engine on IRC freenode


Revision history for haskell-lsp -- 2017-12-27

  • Built with LTS 10.1 (stack)
  • Don't escape semicolons after drive letters by @nponeccop
  • Add Foldable and Traversable instance to List by @noughtmare -- 2017-11-23

  • Major changes as implementation continued. Now seems stable, used in haskell-ide-engine -- 2017-07-19

  • First version. Implements version 3 of the Microsoft Language Server Protocol
comments powered byDisqus