HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
haskell
haskell-language-server
Haskell2020–2024
haskell / haskell-language-server

haskell-language-server

Official Haskell IDE support via the language server protocol (LSP)

13Distinct people
13Mentions
1Explicit recommenders
3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Official Haskell IDE support via the language server protocol (LSP)

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

> What does Haskell have? It has Req (and a bunch of other also rans), and the docs for Req are atrocious, spanning a staggering 1 (one) example and then a meandering essay on…

ardfard used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 12:54:37 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year13 dated mentions

Observed mentions: 2020-05-31 02:03:27 UTC to 2024-09-13 12:15:16 UTC.

02462020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 6 mentions; 1 submissions, 5 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2024

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC312
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC615
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC110
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC202

What Hacker News says

13 sources
The Haskell Language Server (LSP) always needs help: https://github.com/haskell/haskell-language-server/issues?q=... As for GHC compile times... hard to say. The compiler does do a lot of things. Type checking and inference of a complex type system, lots of optimizations etc. I don't think it's just some bug/inefficient implementation, bc. resources have been poured into optimizations and still are. But there are certainly ways to improve speed. For single issues, check the bug-tracker: https://gitlab.haskell.org/ghc/ghc/-/issues/?label_name%5B%5... For the big picture, maybe ask in the discourse[1] or the mailing list. If you want to contribute to the compiler, I can recommend that you ask for a gitlab account via the mailing list and introduce youself and your interests. Start by picking easy tickets - GHC is a huge codebase, it takes a
Read the rest
while to get familiar. Other than that, I'd say some of the tooling could use some IDE integration (e.g., VS Code plugins). [1]...https://discourse.haskell.org/
In Why Haskell?
> Haskell has an endemic problem where way too many development resources are put into fringe parts of GHC There has been an incredible amount of work over the last decade put into all the things you mentioned, which it sounds like you're unfamiliar with. https://github.com/haskell/haskell-language-server in particular is a pleasure to use in my experience. Package management is far from perfect, but it's always being worked on and I'll take it over anything in Python or the Node.js ecosystems any day. Developer experience has improved a lot since I started using the language and this is an area that the community and leadership absolutely cares about--I'd be surprised if anyone spent time reading relevant discussions in https://github.com/ghc-proposals/ghc-proposals or https://discourse.haskell.org/ or etc. and agreed with you. > Haskell
Read the rest
has the worst support for records of all its peers. SML, OCaml, F# all have better records. > Without good records it’s unreasonably hard to write large software projects. > AFAIK it’s hard to retrofit ML-style structural subtyped records onto Haskell, because the type system is designed around that not being possible. Haskell is not ML, and while Haskell records are weak they are not what is preventing people from writing big projects in Haskell. There is much more to the language than records. But I said this in my previous comment. Nothing you've written resonates with me, and I've written Haskell and PureScript professionally as well as Java and JS along with a bunch of other languages that haven't been mentioned. I'm also actively working on an open source project in my spare time with thousands of lines of Haskell and PureScript code (https://github.com/ddellacosta/automation-service), not to mention a half dozen other random half-done projects and contributions I've made to other open source libraries and applications. What have you written in Haskell that has made you dislike it so much? > Talk is cheap. Yes it is.
In Why does everyone hate Haskell, jazz, and pure math?
Sadly the state of LSP's Wingman (hls-tactics-plugin) is somehow typical for Haskell. This LSP plugin has been responsible for things like case splits (automatically filling out all branches of a `case` expression). It does not work with GHC >= 9.2 because of changes in GHC's `exactprint API` - the problem is adding the generated source in the AST to get the correctly formatted source code into the text editor. GHC does _actually_ move fast and breaks tooling related things (not "old" source code, they are wary of that). Conclusions: I've been AFK from HLS development for a few months. Let me give you my status. I do not find myself excited to work on GHC-related refactoring tools. I personally find that the stability and quality of the ghc-exactprint API has made it unpleasant for me to work on new refactoring tools. Alan Z
Read the rest
immerman has done absolutely fantastic work on the ghc-exactprint API, and the effort is genuinely leviathan. I'm not exaggerating - it's a mind-boggling amount of work. However, the result is still not easy enough to work with (for me) to make me want to work on it. I had a massive amount of energy and spent well over 60 hours on tactics and code actions. And by the end, I realized I could not trust that a future version of GHC wouldn't simply break all of it again. https://github.com/haskell/haskell-language-server/issues/35... Original issue: https://github.com/haskell/haskell-language-server/issues/29...
In A semester of Haskell-language-server: an internship report
I previously used IntelliJ IDEA on Linux for over eight years, so I can sympathize with your struggles. [1] Recently I started using OSX because my Thinkpad finally died and I could not find another laptop I liked. So far, it's been pretty bumpy, although I noticed that some things have improved (like fonts and build times). The downside is that many things currently do not work on aarch64 right now, and I somewhat regret making the switch this early. I recently started writing some Haskell, which was a pain to setup on my local machine but now that GHCi and Stack finally support it [2], I think it's getting stable. Hopefully more native libraries will offer support for aarch64, because despite the minor speedups (faster JVM), overall it's been a productivity-killer. Very few native libraries provide M1-compatible builds right now. [1]: h
Read the rest
In Running IntelliJ Idea with JDK 17 for Better Render Performance with Metal
Things are slowly improving. For example you now have the Haskell Language Server (https://github.com/haskell/haskell-language-server) which makes it way simpler to integrate haskell into your editor. I'm using VSCode and the official extension (https://github.com/haskell/vscode-haskell). The default experience is not at the level of what I have with Go or Typescript but already quite good (though it's not that stable IMHO, I have to restart the server more than I would like). The Haskell Platform (https://www.haskell.org/platform/) makes it simple to install almost everything you need to get started (the compiler, standard libraries, build tools, etc). It's not there yet, the beginner dev experience is still painful and frustrating, but things improved quite a lot.
In Reflections on Using Haskell for My Startup
I've only dabbled with GHCI. I've used it as a standalone REPL for trying out small things, the same way I'd use a Python or Javascript REPL. I haven't used the REPL /the/ developer interface to the program. In Clojure, I would (1) start a REPL server, (2) connect to it from my editor, and (3) send expressions to it. I didn't develop Haskell that way, though I think it was possible with Intero[1]. Within the Clojure community, there's a perception that the Clojure REPL is one of its strongest selling points[2]. Are you using the REPL actively when developing? Edit: really curious about the "-- >>> expression " syntax! I might have to give Haskell another go. Edit 2: Example of this interaction in practice with VSCode[3] [1]: https://github.com/chrisdone/intero#readme [2]: https://clojure.org/guides/repl/introduction [3]: https://github.co
Read the rest
In Why Clojure? (2018)
ardfard·May 31, 2020Recommendation phrase
> What does Haskell have? It has Req (and a bunch of other also rans), and the docs for Req are atrocious, spanning a staggering 1 (one) example and then a meandering essay on the deficiency of other Haskell HTTP clients. It's not good enough. For HTTP request library, most would recommend Wreq. Being most popular, the documentation is really good I might say with most used API have their own example [1]. You can also easily find great tutorial on the net, like http://www.serpentine.com/wreq/tutorial.html for example. Honestly I never use Req myself and looking at the documentation myself, even though I don't it's lacking, I think it's not really geared toward Haskell beginners so maybe you have a point there. As a novice Haskell programer who only use it for side projects, I don't think the documentation is that bad and it's only getting
Read the rest
better. Most popular libraries like database clients and web frameworks have intensive documentation and tutorial nowadays. I agree with you for the state of IDE support, it leaves something to be desired. But people are still working on it[2]. For now I mostly use vim with help of linter and formatter. The great thing about good type system is, you can still do much even without great IDE support. Haskell already have working and great REPL support that make development a breeze so it helped. I'll still take Haskell over OCaml or Scala anyday. Rust is great and I love it so much that it's my go to language for something system programming or networking related, but I don't think it's a good match if you want to learn functional programming. [1] https://hackage.haskell.org/package/wreq-0.5.3.2/docs/Networ... [2] https://github.com/haskell/haskell-language-server
In On Marketing Haskell

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.