[Haskell-cafe] State of Haskell IDE Engine

Benno Fünfstück benno.fuenfstueck at gmail.com
Sat Apr 29 21:34:05 UTC 2017


I'm very glad to hear this, huge thanks for taking the time to work on this!

One question: why does the haskell LSP require a separate plugin? I thought
LSP was meant to not require any editor plugins to use a different backend?

Alan & Kim Zimmerman <alan.zimm at gmail.com> schrieb am Sa., 29. Apr. 2017 um
18:43 Uhr:

> Some of you have been wondering what has happened to the
> haskell-ide-engine[1],
> and whether it may perhaps have died.
>
> Development has resumed, based mainly on the existence of an enabling
> technology
> 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
> merged).
>
> 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
> in
>     this, my skills are limited
>
> There is a lot of development happening on the emacs lsp-mode, as it
> benefits
> 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
> will
> 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
> support.
>
> The longer term plan is to use this as a platform to drive more
> interactivity
> back into GHC, starting with exploring incremental parsing driven by the
> document change notifications provided in the LSP protocol, and supported
> in
> haskell-lsp[9].
>
> Alan
>
> [1] https://github.com/haskell/haskell-ide-engine/issues/218
> [2] https://github.com/Microsoft/language-server-protocol
> [3]
> https://github.com/Microsoft/language-server-protocol/wiki/Protocol-Implementations
> [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
>
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20170429/af951945/attachment.html>


More information about the Haskell-Cafe mailing list