haskell / haskell/haskell-language-server
"No compilation" mode
- Dominant language
- Haskell
- Stars
- 3k
- Forks
- 455
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 11
Description
People often complain about the memory consumption and responsiveness of HLS. This has led to some alternative efforts including [static-ls](https://github.com/josephsumabat/static-ls), which remarkably just doesn't try to compile files at all, it relies entirely on `hiedb` and ahead-of-time indexing.
I wonder if we could in principle do something similar for HLS. We could have a "no compilation" mode that just makes the typechecking/code-gen rules fail unconditionally. Then in principle everything that doesn't rely on typechecking should still work. We might need to make some changes to make things that rely on typechecking fail gracefully (providing what information they have), but in principle we should be able to e.g. have completions from hiedb even if we don't have the typechecked source stored.
I don't know if we index the user's modules into hiedb, but we could potentially also do that and aggressively avoid keeping the results in memory. Then we would do some compilation, we just wouldn't keep the results around.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.