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

Focus on Haskell IDE Engine #3

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

merlinnot
Copy link
Contributor

@Ericson2314
Copy link

Ericson2314 commented Dec 15, 2016

Rust is doing some good work in this area, see https://github.com/rust-lang/rfcs/blob/master/text/1317-ide.md https://github.com/rust-lang/rfcs/blob/master/text/1298-incremental-compilation.md . And I agree with them that good editor support absolutely necessitates rearchitecting the language implementation.

However, in the name of performance, their approach is IMO a bit ad-hoc and less correct-by-construction. As a fan of http://blog.ezyang.com/2015/12/the-convergence-of-compilers-build-systems-and-package-managers/ and Nix user, I think getting all our tools to speak the same common language of dynamic dependency graphs is basically the big refactor that is needed.

I recently had a good dialogue with @snowleopard in the comments of https://blogs.ncl.ac.uk/andreymokhov/cloud-and-dynamic-builds/ . I don't want to construe the goals of someone else's research, but I'd be thrilled if his work there would lead to exactly the sort of lingua franca I want. In the meantime, shaking our tools up is a good first step.

As I recall, the IDE engine is more duct tape around the status quo. It's certainly good to start sharing code between editor modes now, and I don't want to abandon what's been done already, but beyond the short term, I think duct tape adds a lot of complexity that will bite, and these sorts of refactors are already long overdue.

@Profpatsch
Copy link

Profpatsch commented Jan 12, 2017

As I recall, the IDE engine is more duct tape around the status quo.

As long as IDE engine provides a consistent API on what editors can expect (that doesn’t depend on the wrapped tools), the parts can be exchanged later.

The One True Solution™ will never exist, it will all be just piecework. Working piecework is often better.

@merlinnot
Copy link
Contributor Author

Hi, is there a chance to make some progress here? If not, that's ok, I'll just close this.

@merlinnot
Copy link
Contributor Author

Hi, it's been two years since I made this proposal. Can we please move it in one direction or the other?

@AlexeyRaga
Copy link

The proposal says Haskell IDE Engine is a great initiative which seems to be abandoned.

I don't know why would you say that. HIE seems to be worked on very actively.
Only quite recently it grew support for cabal new-build, GHC 8.6, holes/suggestions, etc.

I think it is quite unfair for all these people committing to HIE daily to call this project "abandoned".

@gelisam
Copy link
Collaborator

gelisam commented Dec 11, 2018

Hi, it's been two years since I made this proposal. Can we please move it in one direction or the other?

Who's "we"? If you mean "those who work on tooling", then you have to get those people in the room and get buy in, otherwise approving this would be meaningless and e.g. current intero contributors will be likely to continue contributing to intero instead of switching to Haskell IDE engine. If you could go through the list of top contributors from the various tooling project and get them all to join the conversation in this thread, then I think it will be possible to make some meaningful progress towards uniting their efforts.

If you mean "the ecosystem committee", then looking at the closed pull requests tab, they don't seem to ever approve or reject proposals. In fact, since the Proposal Process Process document is itself worded as a proposal, could it be that a committee has never been formed, and so nobody feels like they have the authority to accept or reject a proposal?

@gbaz
Copy link
Collaborator

gbaz commented Dec 11, 2018

In fact, there is no "ecosystem committee". The working convention is that it is a place for ecosystem-wide architecture changes to be discussed and individually agreed upon by the various impacted projects. As such, there's not real scope here for discussing community-wide allocation of resources at all -- that is not the purpose of this repo.

@gelisam
Copy link
Collaborator

gelisam commented Dec 12, 2018

Then I think the instructions should be amended to reflect the fact that there is no committee. The Readme points to the proposal for proposals, should I make a PR which rewords that meta-proposal, or should I make a new proposal for proposals, to which the Readme could point to if accepted?

@neko-kai
Copy link

Haskell tools should hop on BSP for interop layer

@alanz
Copy link
Collaborator

alanz commented Dec 12, 2018

@Kaishh I have my eye on BSP. And I am hoping that we can end up with some kind of usable REPL story, possibly based on DAP, since there is already https://github.com/phoityne/phoityne-vscode

And DAP is now coming to the emacs-lsp client.

@ocramz
Copy link

ocramz commented Jun 21, 2021

Hi all! it's been 3 years since the latest comment and in the meantime the HLS grew and became the de facto standard for IDE tooling (so, 90% of an IDE I'd say).

Can we consider this ticket as (happily) resolved?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants