haskell-language-server VS lsp-mode

Compare haskell-language-server vs lsp-mode and see what are their differences.


Official haskell ide support via language server (LSP). Successor of ghcide & haskell-ide-engine. (by haskell)
Our great sponsors
  • SonarLint - Clean code begins in your IDE with SonarLint
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • SaaSHub - Software Alternatives and Reviews
haskell-language-server lsp-mode
99 110
2,279 4,290
2.2% 1.4%
8.7 9.1
2 days ago 7 days ago
Haskell Emacs Lisp
Apache License 2.0 GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.


Posts with mentions or reviews of haskell-language-server. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-12-07.


Posts with mentions or reviews of lsp-mode. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-29.
  • Newbie here! Need Help!
    6 projects | reddit.com/r/emacs | 29 Jan 2023
    I love emacs for the fact that I can use it with many different languages. I get my IDE like features (auto-complete, linting, formatting etc.) from lsp-mode. You can configure emacs by writing elisp in your .emac dotfile in your home directory. Here is my messy config file. The general tactic is to copy snippets from other people. I don't know a good starting point for configuring, but maybe this video can give you a glimpse of what it is like. Picking a feature and getting it working was what helped me when I first started out with emacs. evil-mode was the first thing I installed, because I like vim.
    6 projects | reddit.com/r/emacs | 29 Jan 2023
    Since you are doing code development, the first things to go for would be setting up your emacs packaging (installing use-package and melpa (use-package's documentation covers this) so you have more packages to choose from (do be careful to not just pick things willy nilly but research them a bit first)) and then setting up lsp-mode. lsp-mode lets you use LSP servers for the specific programming languages you work with in a somewhat unified fashion. You then need to install and setup the LSP servers for the languages you use, and possibly install language specific Emacs packages as support (note, Emacs has builtin functionality for many).
  • Emacs 29: Install Tree-Sitter parser modules with a minor mode
    3 projects | reddit.com/r/emacs | 26 Dec 2022
    And first of all, I'm trying to understand, how is it connected to https://github.com/emacs-lsp/lsp-mode? I'm sure, that existed lsp implementations already parse source code. Why TreeSitter?
  • Emacs as IDE
    2 projects | reddit.com/r/emacs | 18 Dec 2022
    Debugging (kind of an IDE feature) is a little harder. Out of the box, Emacs can at least debug emacs-lisp (with built-in features) and C (via gdb integration). Beyond that, take a look at dap-mode for other language options. Similarly, take a look at lsp-mode or eglot for code completion, more advanced linting, etc.
  • How to develop Xcode project in emacs?
    10 projects | reddit.com/r/emacs | 12 Nov 2022
    lsp-sourcekit ;; completion stops working after lsp server returns an error #3028
  • Async non-blocking JSONRPC (or lsp performance faster/comparable with other clients)
    5 projects | reddit.com/r/emacs | 5 Nov 2022
  • Overleaf makes me mad and TeXstudio is superior
    3 projects | reddit.com/r/LaTeX | 25 Oct 2022
    If you use emacs, I recommend to get some modern goodness by installing lsp-mode (or eglot) to interact with language servers and then install a latex language servers like texlab. This in my expericence really improved the autocompletion so I don't feel like I loose anything over using vscode, texlab or overleaf .Recently I also switched to lsp-ltex for language-tool integration. All those tools lsp servers can also be used from other editors with lsp support, so use what you prefer. I would only recommend emacs to those who want a fully customized and keyboard driven experience and are not afraid to eventually modify some lisp code. But it has its unique advantages, many editing tools and in addition to the still great auctex also cdlatex for super quick math typesetting.
  • Eglot is merged into emacs git master
    2 projects | reddit.com/r/emacs | 20 Oct 2022
    One caveat I had was with TypeScript - eglot can't run more than one LSP server at the same time, so you have to use a separate package for ESLint if you use it along tsserver. But I think that's a perfectly fine solution and it honestly works better than lsp-mode, which required me to install a separate package just to get errors to show up properly.
  • Help tracking down problem with text below the cursor moving with cc-mode/lsp
    4 projects | reddit.com/r/emacs | 18 Oct 2022
    I couldn't reproduce it with my setup. Just for the reference, I use Doom ba35f12be with Emacs 29.0.50 76b7a5936 on Debian 10. Specifically, lsp-mode 68bdac0f8, lsp-ui d8cce7dc1. I use monospace Iosevka TTF font for both italics and regular faces.
  • Help a Linux kernel dev setup LSP
    8 projects | reddit.com/r/emacs | 18 Oct 2022
    The first step is choosing whether to use the eglot or lsp package for your LSP client. After choosing this, you will need an actual LSP server installed. The two main (and best) contenders are ccls and clangd. For both the client and the server, the choice you make is personal, and it's quite easy to switch between them, considering a simple configuration.

What are some alternatives?

When comparing haskell-language-server and lsp-mode you can also consider the following projects:

eglot - A client for Language Server Protocol servers

ctags - A maintained ctags implementation

tide - Tide - TypeScript Interactive Development Environment for Emacs

coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.

dap-mode - Emacs :heart: Debug Adapter Protocol

ANTLR - ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.

vscode-intelephense - PHP intellisense for Visual Studio Code

company-lsp - Company completion backend for lsp-mode

lua-language-server - A language server that offers Lua language support - programmed in Lua

neovim - Vim-fork focused on extensibility and usability

GNU/Emacs go-mode - Emacs mode for the Go programming language

emacs-jupyter - An interface to communicate with Jupyter kernels.