Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"No compilation" mode #3605

Open
michaelpj opened this issue May 23, 2023 · 0 comments
Open

"No compilation" mode #3605

michaelpj opened this issue May 23, 2023 · 0 comments
Labels
component: ghcide level: hard Ticket suited for experts type: enhancement New feature or request

Comments

@michaelpj
Copy link
Collaborator

People often complain about the memory consumption and responsiveness of HLS. This has led to some alternative efforts including 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: ghcide level: hard Ticket suited for experts type: enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant