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

ghc support deprecation schedule #2168

Closed
jneira opened this issue Sep 7, 2021 · 56 comments · Fixed by #2231
Closed

ghc support deprecation schedule #2168

jneira opened this issue Sep 7, 2021 · 56 comments · Fixed by #2231
Labels
old_type: meta Planing and organizing other issues status: in discussion Not actionable, because discussion is still ongoing or there's no decision yet
Milestone

Comments

@jneira
Copy link
Member

jneira commented Sep 7, 2021

  • As we have several issues about i think it is useful to unify all of them and inform users of our plans to deprecate ghc support.
  • ghc support is the main source of ci consumption resources so we need to have the right balance between user needs and them
  • otoh we have a huge amount of cpp'd code based on ghc version which can be removed (or even entire packages as hie-compat
  • The proposed schedule could be:
condition removed ghc versions supported ghc versions
after next release 1.4.0 with 8.10.7 8.10.4, 8.10.3, 8.10.2, 8.8.3, 8.6.4 9.0.1 (partial), 8.10.7, 8.10.6, 8.10.5, 8.8.4, 8.6.5
with full support for ghc-9.0 8.6.5 9.2.* (partial)?, 9.0.*, 8.10.7, 8.10.6, 8.10.5, 8.8.4
with full support for ghc-9.2 8.10.6, 8.10.5, 8.8.4 9.2.* , 9.1.*, 8.10.7
  • We should announce this schedule in all comm channels and remind it in the previous to deprecation hls version
  • It could change after any reasonable user feedback
  • "full support" has to be defined but
    • it should include all plugins and features
    • the full supported ghc should be supported as well by a stack lts snapshot
  • haskell-language-server-wrapper will continue to choose haskell-language-server-8.10.6 f.e. whatever would be the hls own version, so users will be able to continue using older versions of hls for deprecated ghc's

//cc @pepeiborra @Ailrun @ndmitchell @mpickering @wz1000 @berberman @isovector @hasufell

@hasufell
Copy link
Member

hasufell commented Sep 7, 2021

I'd suggest to support at most 2 GHC versions in a X.Y branch. So 8.10.7 and 8.10.6, but not 8.10.5.

@jneira
Copy link
Member Author

jneira commented Sep 7, 2021

I'd suggest to support at most 2 GHC versions in a X.Y branch. So 8.10.7 and 8.10.6, but not 8.10.5.

That would be the general criteria but i am afraid that 8.10.6 was a somewhat failed 8.10.7 so i think it worths to keep 8.10.5 a little bit but give users some more time to jump from 8.10.6 to 8.10.7

@jneira
Copy link
Member Author

jneira commented Sep 7, 2021

Thanks to @maralorn's question in matrix it worths to note that haskell-language-server-wrapper will continue to choose haskell-language-server-8.10.6 whatever would be the hls own version, so users will be able to continue using older versions of hls for deprecated ghc's

@pepeiborra
Copy link
Collaborator

I would be against dropping 8.8 support if we landed "full 9.2 support" tomorrow.

One way to encode my reservation would be including "Stackage Nightly" or even "Stackage LTS" as a condition for "full support". I.e. a GHC version is not considered mature until it has full support from HLS and from Stackage

@jneira
Copy link
Member Author

jneira commented Sep 7, 2021

totally agree, updated the issue description

@hasufell
Copy link
Member

hasufell commented Sep 7, 2021

I would be against dropping 8.8 support if we landed "full 9.2 support" tomorrow.

I agree. That's why I think it's more worthwhile to support many X.Y versions, but as few X.Y.Z combinations. Industry users may have several reasons to lack behind significantly. However, updating from 8.10.5 to 8.10.7 is little to no effort, since base/core libs are usually PVP compatible.

I.e. a GHC version is not considered mature until it has full support from HLS and from Stackage

I don't think HLS needs a notion of "mature GHC" even. And cabal users may disagree what mature means. But we need a notion of "legacy".

@cdsmith
Copy link
Contributor

cdsmith commented Sep 7, 2021

I'd suggest to support at most 2 GHC versions in a X.Y branch. So 8.10.7 and 8.10.6, but not 8.10.5.

The current version of HLS doesn't support anything after 8.10.5. If HLS's next release dropped support for GHC 8.10.5, there would be no way to upgrade HLS without simultaneously upgrading GHC. That's really bad user support.

@hasufell
Copy link
Member

hasufell commented Sep 7, 2021

The current version of HLS doesn't support anything after 8.10.5. If HLS's next release dropped support for GHC 8.10.5, there would be no way to upgrade HLS without simultaneously upgrading GHC. That's really bad user support.

Good point. I think given all the information in this thread we could easily write a simple policy anyone doing a release can follow.

@cdsmith
Copy link
Contributor

cdsmith commented Sep 7, 2021

I am currently working on getting HLS working in a (work) setting that's still using GHC 8.6.5. It would be disappointing if I finished this project, only to have it become harder to install HLS for 8.6.5. I take some consolation in the fact that older versions of HLS would still be available. If software like the VSCode Haskell extension could be aware of this and be willing to install those older versions without pulling teeth, that would be even better.

@Ailrun
Copy link
Member

Ailrun commented Sep 8, 2021

I know that it causes a lot of maintenance issues to have all those versions, but I'm also against dropping GHC 8.6.5. It is quite a well-working version in many systems, and I often meet (industrial, non-public) projects using GHC 8.6.5, not later, for exactly that reason. I think we should support at least the latest version for each X.Y version until really most of the ppl (like < 0.5% or so) (based on Haskell survey or something) move to some other minor versions or something.

@jneira
Copy link
Member Author

jneira commented Sep 8, 2021

I am currently working on getting HLS working in a (work) setting that's still using GHC 8.6.5. It would be disappointing if I finished this project, only to have it become harder to install HLS for 8.6.5. I take some consolation in the fact that older versions of HLS would still be available.

I am with you, i know 8.6.5 is a beloved version and myself, as a windows user, have been using it for a long time cause it was the unique reliable ghc version in windows, until 8.10.5 arrived.

But hls relies heavily in features added in ghc-8.8 (hie files), we have to maintain an entire package to get compat with 8.6.5 (hie-compat). At some point we will no able to leverage new ghc features cause making it compatibles will not be possible (or not feasible/reliable given our resources).

If software like the VSCode Haskell extension could be aware of this and be willing to install those older versions without pulling teeth, that would be even better.

That is a really good idea, not sure if other installation tools (ghcup?) could be improved for that

I think we should support at least the latest version for each X.Y version until really most of the ppl (like < 0.5% or so) (based on Haskell survey or something) move to some other minor versions or something.

Mmm, i like to be conservative with deprecations, but maybe that requirement is too hard imo, given users could continue using old versions of hls. Well the ghc team itself is not maintaining those versions and users continue using them, without new bug fixes or features.

What about move version deprecation and keep 8.6.5 until 9.2.* is widely used?

@pepeiborra
Copy link
Collaborator

pepeiborra commented Sep 8, 2021

If an industrial user is still on 8.6.5 after we drop support, they should be happy to stick to an old version. After all, they already stick to old versions of all the packages they use and have decided that this is preferable (cost-wise) than upgrading their compiler. So I don't think we should encumber our most important cohort (OSS contributors and maintainers) with a slower deprecation schedule for the benefit of organisations who have already decided that sticking to older versions is fine.

Summarising the contents of this thread that have wider agreement:

  • A GHC version is legacy if it is 3 or more major versions away from the newest Stackage LTS.
  • HLS will build on all non-legacy (major) versions of GHC,
  • For every non-legacy major GHC version, HLS will provide binaries for as many GHC releases as reasonable (usually 2, but can be more).
  • We may extend the HLS wrapper to find & download older HLS binaries when it detects a legacy GHC version

@jneira
Copy link
Member Author

jneira commented Sep 8, 2021

* For every non-legacy major GHC version, HLS will provide binaries for as many GHC releases as reasonable (usually 2, but can be more).

I would say that it could be one too (to keep only 8.6.5 and 8.8.4 at some point)

@hasufell
Copy link
Member

hasufell commented Sep 8, 2021

That is a really good idea, not sure if other installation tools (ghcup?) could be improved for that

I mean, ghcup already allows to install multiple HLS versions side-by-side. If you have a legacy project that needs ghc 8.6.5, just keep an older HLS installed and switch to it via ghcup set hls 1.3.0.

There are two things that could be improved:

  1. Being able to use different HLS versions at the same time without going through ghcup set hls (that might be a little hard, because we don't put HLS binaries in separate directories). I'm not sure this is a particularly strong use case and there's a reasonable workaround via the new --isolate option.
  2. Show supported GHC versions before installation, so users have a clearer overview of what they get from a HLS bindist. However, since this is an extensive list, I think the HLS Readme might be a better place for such a table.

@hasufell
Copy link
Member

hasufell commented Sep 8, 2021

For every non-legacy major GHC version, HLS will provide binaries for as many GHC releases as reasonable (usually 2, but can be more).

Sorry to complicate this a little more, but I'd say:

  1. For the latest major GHC non-prerelease we want 2 (that's currently 9.0.x, so there's only 9.0.1).
  2. We always support the latest GHC in stackage LTS

So, if 8.10.8 and 9.0.2 was released tomorrow, we'd support: [ 9.0.2, 9.0.1, 8.10.8, 8.10.7, 8.8.4, 8.6.5]. As soon as stackage LTS updates to 8.10.8, then 8.10.7 can be dropped. If 9.2.x gets released, 9.0.1 will be dropped.

Additionally, we should make it easier to compile HLS from source against your choice of GHC. There are some shenanigans that need solving, also see #2092 (comment)

@Ailrun
Copy link
Member

Ailrun commented Sep 8, 2021

What about move version deprecation and keep 8.6.5 until 9.2.* is widely used?

I think this schedule will be better than dropping just after full support. We should deal with early adopters but also most of Haskell users, IMO.

So I don't think we should encumber our most important cohort (OSS contributors and maintainers) with a slower deprecation schedule for the benefit of organisations who have already decided that sticking to older versions is fine.

The fact that they stick with the older compiler does not mean that they want worse development experience. In fact, GHC 8.6.5 is, IMO, preferred because of the opposite reason. GHC 8.8 sometimes malfunctions in Windows, GHC 8.10 experiences issues in Mac. So I believe they chose GHC 8.6 to have a better (and consistent) DX.

@maralorn
Copy link
Contributor

maralorn commented Sep 8, 2021

At this point we don‘t have full hls support for 9.0.1 let alone 9.2.x. I agree very much with @pepeiborra that developer time is our most precious resource, and supporting many ghc versions is a huge burden.

The fact that they stick with the older compiler does not mean that they want worse development experience.

I don‘t think that using a stable and tested hls version with your stable and tested ghc version is a bad developer experience. Otoh if hls development is constrained too much by supporting a large number of ghc versions, overall development experience will suffer for everyone in the long run.

I think we should strive for at least one stable release of hls for every ghc version. And it should be really easy to install a working hls for every ghc version out there. In the worst case we can even branch-off and do critical bug fix releases for older hls versions. Seeing that different ghc versions life in different branches of ghc, maintaining different ghc versions in different branches of hls might actually be less work.

There is one counter argument I see: If there are hls developers who are constraint to use old versions of ghc e.g. in their day job, I can see how dropping support for that ghc version would be very detrimental to motivation. I assume implementing a feature that you can only use in a year or so is probably pretty annoying. I have no idea how much that would be the case, though.

@Ailrun
Copy link
Member

Ailrun commented Sep 8, 2021

I don‘t think that using a stable and tested hls version with your stable and tested ghc version is a bad developer experience. Otoh if hls development is constrained too much by supporting a large number of ghc versions, overall development experience will suffer for everyone in the long run.

As I said, not the HLS usage itself but the compilers have some issues with OSs, which can cause DX issues. Moreover, I'm not suggesting that we should preserve all GHC versions forever. I'm just arguing that, for some specific stable version like 8.6.5, it's possible to be worth the effort at least for a while.

@cdsmith
Copy link
Contributor

cdsmith commented Sep 8, 2021

To clarify my earlier comments about 8.6.5, I think it's the overall user experience that matters. There are several ways one can get a HLS install. One way is just to run VSCode and install the Haskell extension from within VSCode. I'm not sure where HLS comes from in that situation. There may or may not be equivalents for other editors. Another is to install manually with ghcup. I suspect most users get HLS in one of those two way rather than building from source. If those two ways of getting HLS make it easy to obtain old HLS versions as needed, then I'm not concerned with whether the HLS project continues support in new versions. I know that ghcup does make it easy enough. I don't know about the HLS that's obtained by installing the VSCode extension, or of there are equivalents for other editors. Does anyone know these details?

Checking a running install of VSCode, the server is installed into /home/csmith/.vscode-server/data/User/globalStorage/haskell.haskell/haskell-language-server-1.3.0-linux-8.6.5 Definitely looks like something that was downloaded on the fly by the haskell.haskell extension. I just wanted to double-check that assumption on my part.

@Ailrun
Copy link
Member

Ailrun commented Sep 8, 2021

@cdsmith As far as I know, the VSCode extension is the only extension that supports the auto-installation of HLS, and it installs the latest GitHub release of HLS.

@cdsmith
Copy link
Contributor

cdsmith commented Sep 8, 2021

I'm looking through the configuration now, and one can install a different HLS and configure VSCode to use it instead. It's a bit hidden, but with enough user education, it could be an option. Still, not a step to be taken lightly. I now know how to get around dropping support, but I suspect a lot of the users affected, especially those who are using Haskell in their companies but not participating in the broader community, will be lost by this change. :(

@TikhonJelvis
Copy link

@cdsmith Is that a problem that could be solved on the VSCode extension side? Can VSCode install different (prebuilt?) versions of HLS based on which version of a compiler a Haskell project is using?

I've never tried setting up anything like that, so I don't know whether it's practical.

@jneira
Copy link
Member Author

jneira commented Sep 9, 2021

@cdsmith Is that a problem that could be solved on the VSCode extension side? Can VSCode install different (prebuilt?) versions of HLS based on which version of a compiler a Haskell project is using?

I am afraid that the extension goes for the last version by default as a whole. If you had already installed the previous version it will continue using it but no if you start with a fresh cache. So we could teach the extension the matrix of ghc versions -> hls versions and download the appropiate one. It is doable though and it could serve for ohter purposes as improve error messages when a ghc version is not supported at all: haskell/vscode-haskell#453

The extansion will honour the set of hls+ghc versions in PATH so you always could do it "manually", or set explicitly the path to hls per project. But ideally the extension should do it auto.

@jneira
Copy link
Member Author

jneira commented Sep 9, 2021

But ideally the extension should do it auto.

opened issue about in the extension issue tracker haskell/vscode-haskell#454

@jneira
Copy link
Member Author

jneira commented Sep 10, 2021

For every non-legacy major GHC version, HLS will provide binaries for as many GHC releases as reasonable (usually 2, but can be more).

Sorry to complicate this a little more, but I'd say:

1. For the latest major GHC non-prerelease we want 2 (that's currently 9.0.x, so there's only 9.0.1).

2. We always support the latest GHC in stackage LTS

So, if 8.10.8 and 9.0.2 was released tomorrow, we'd support: [ 9.0.2, 9.0.1, 8.10.8, 8.10.7, 8.8.4, 8.6.5]. As soon as stackage LTS updates to 8.10.8, then 8.10.7 can be dropped. If 9.2.x gets released, 9.0.1 will be dropped.

Additionally, we should make it easier to compile HLS from source against your choice of GHC. There are some shenanigans that need solving, also see #2092 (comment)

what do you think about this @pepeiborra? i aim to write down the proposal based in your comment: #2168 (comment)

@pepeiborra
Copy link
Collaborator

Sounds good to me

@jneira
Copy link
Member Author

jneira commented Sep 10, 2021

@cdsmith would your concerns being adressed with

A GHC version is legacy if it is 3 or more major versions away from the newest Stackage LTS.
HLS will build on all non-legacy (major) versions of GHC,

(it would drop 8.6.5 when 9.2 will be in a stackage lts)

and

haskell/vscode-haskell#454

(to continue giving support for 8.6 auto in the vscode extension)
??

@cdsmith
Copy link
Contributor

cdsmith commented Sep 11, 2021

I think if companies want to stay on older versions of the compiler but want the latest and greatest from HLS then they should feel free to pay for the maintenance burden (I'm sure this could be arranged via the Haskell Foundation).

This makes me sad. I already feel now that you'll dismiss me because I'm working for a company writing Haskell (for all of two weeks now), but I've been a part of the Haskell community working on open source projects for 10 years longer than that, and really wish people would give each other the benefit of the doubt and feel we're on the same team. Several companies using Haskell are pulling far more than their own weight when it comes to contributions to the community. Apparently not everyone thinks it's enough, and I suppose people are entitled to their opinions, but this kind of hostility between parts of the community is really heartbreaking to me.

@maralorn
Copy link
Contributor

but this kind of hostility between parts of the community is really heartbreaking to me.

It's also completely unwarranted since you had twice before in this thread said that you explicitly don't expect all the newest features for older ghc versions.

So I hope this is more of a misunderstanding.

Also in this specific case I am not sure how money could easily help.

@Boarders
Copy link

@cdsmith sorry it was dismissive, not my intention! I just have seen this in a lot of spaces (wanting older compiler support for tooling/libraries/etc specifically for industrial use) and I think industrial users should provide resources (in whatever form is appropriate) to make their wishes a higher priority.

@Ailrun Ailrun added the status: in discussion Not actionable, because discussion is still ongoing or there's no decision yet label Sep 12, 2021
@cdsmith
Copy link
Contributor

cdsmith commented Sep 12, 2021

@cdsmith sorry it was dismissive, not my intention! I just have seen this in a lot of spaces (wanting older compiler support for tooling/libraries/etc specifically for industrial use) and I think industrial users should provide resources (in whatever form is appropriate) to make their wishes a higher priority.

Fair enough, and apologies if I overreacted. Please understand these comments, at least if I make them, as just a note that there are likely to be a lot of users still on 8.6.5 even if it doesn't look like it from all points of view. They are not intended to cast industry users as any more (or less) important than other users.

@jneira
Copy link
Member Author

jneira commented Sep 14, 2021

I think there's a misunderstanding here. GHC 8.6.5 is 3 versions away from 9.0 and therefore becomes legacy as soon as we have a 9.0 Stackage LTS

ok, and what about if we adopt that policy but make an exception for 8.6.5, due to the particular history of 8.6, 8,8 and 8,10 and we wait until 9.2 is in stackage to deprecate 8.6 and 8.8 in one go?
9.2 will not take much time, given the actual ghc release policy

@pepeiborra toughts on that last ammend?

@pepeiborra
Copy link
Collaborator

Honestly, I don't like the idea of inaugurating a ghc deprecation policy with an exception. And I don't see the need for it either. The policy is not automated - 8.6.5 support won't be going away until someone actively removes it, which is unlikely to happen the day after - the policy simply states that it's ok to remove it.

@hasufell
Copy link
Member

I agree with @pepeiborra

A policy is a policy, not a law. It aids in decision making. Exceptions don't need to be covered by it.

@juhp
Copy link
Contributor

juhp commented Sep 16, 2021

Just for reference these are the versions of ghc in some current Linux distro releases:

Arch: 8.10.5
Debian: 8.8.4
Fedora: 8.8.4 (devel has 8.10.5)
Manjaro: 8.10.5
openSUSE: 8.10.4
Ubuntu: 8.8.4

@jneira
Copy link
Member Author

jneira commented Sep 16, 2021

Just for reference these are the versions of ghc in some current Linux distro releases:

Arch: 8.10.5
Debian: 8.8.4
Fedora: 8.8.4 (devel has 8.10.5)
Manjaro: 8.10.5
openSUSE: 8.10.4
Ubuntu: 8.8.4

many thanks, however problematic releases usually has problems in windows and/or mac (coincidence?? dont believe so! 😛) :

  • 8.8.4 and some 8.10 versions are not reliable in windows
  • 8.10 has not been reliable in macos from 8.10.2 or 3 until 8.10.7

so use 8.6.5 had make more sense in windows

@archaeron
Copy link

The official Haskell container on docker hub is still at 8.10.4 and I would love to upgrade to 8.10.7 but I'm stuck there.

https://hub.docker.com/_/haskell?tab=tags&page=1&ordering=last_updated

@juhp
Copy link
Contributor

juhp commented Sep 17, 2021

I would also suggest delaying 8.10.4 deprecation a little longer: it was a rather long lived minor release, corresponding to lts17.

Also just to clarify my previous comment: I just wanted to list the Linux distros to show that distros do lag (also in minor versions) and some may never even adopt 8.10.7 say but instead eventually jump straight to 9.0.x I image: from the Linux PoV there is almost no difference between 8.10.5 and 8.10.7. It was not to suggest dropping 8.6.5 support. :-)

Also I think there is a fair chance we may see LTS 19 released for ghc-9.0 by the end of this year.

@hasufell
Copy link
Member

I would also suggest delaying 8.10.4 deprecation a little longer: it was a rather long lived minor release, corresponding to lts17.

Why? Updating to 8.10.7 can be reasonably expected of users with no change in dependency configuration.

It's also supported by stackage.

Also just to clarify my previous comment: I just wanted to list the Linux distros to show that distros do lag (also in minor versions) and some may never even adopt 8.10.7 say but instead eventually jump straight to 9.0.x

There are many ways to install 8.10.7 on Linux distros. I don't see an issue here.

@jneira
Copy link
Member Author

jneira commented Sep 17, 2021

@juhp

I would also suggest delaying 8.10.4 deprecation a little longer: it was a rather long lived minor release, corresponding to lts17.

I am afraid we (i) just removed it, i hope upgrading to lts 18 willnot be problematic

It was not to suggest dropping 8.6.5 support. :-)

Sorry for misunderstand your intent, now i see your point and agree with it, so we should take that versions in account before make a decision. Fortunately we keep support for ghc-8.10.5 for other reasons so i hope actual version list would be fine from that pov.

Sure there would be linux users, maybe occasional ones, who dont want to worry about installing new ghc versions and want to use the included one in their distro. Although upgrading nowadays is really easy thanks to ghcup.

@archaeron
Copy link

Why? Updating to 8.10.7 can be reasonably expected of users with no change in dependency configuration.

how, if the official docker is still at 8.10.4. There is a discussion going on here about the docker container:
haskell/docker-haskell#45

And Stackage is still in nightly for GHC 9.0.1.

@jneira
Copy link
Member Author

jneira commented Sep 17, 2021

And Stackage is still in nightly for GHC 9.0.1.

At least it would suppose we are not gonna trigger the deprecation for 9.0.1, as we will wait until 9.0.1 is in stackage

@jneira jneira closed this as completed Sep 17, 2021
@jneira jneira reopened this Sep 17, 2021
@archaeron
Copy link

archaeron commented Sep 17, 2021

haskell-language-server-wrapper will continue to choose haskell-language-server-8.10.6 f.e. whatever would be the hls own version, so users will be able to continue using older versions of hls for deprecated ghc's

if I understand this correctly that VSCode will just automatically use the old HLS for ghc 8.10.4 then I withdraw all objections

@hasufell
Copy link
Member

how, if the official docker is still at 8.10.4

Just curious... why are you locked to the official docker image?

@archaeron
Copy link

Just curious... why are you locked to the official docker image?

Using a "blessed" image makes it more likely that it's stable.
Also from what I understood Debian is stuck at 8.10.4 so I can't just take the old file and change some versions.

But again, if HLS still works for the old version, but doesn't have the newest features, then that totally works for me.
I can understand that keeping up with the old versions is a lot of work.

@hasufell
Copy link
Member

Using a "blessed" image makes it more likely that it's stable.

That what is stable? I'd recommend just using a stock Docker image and install GHC/cabal inside instead of downloading 2-3 GB. It's also faster in my experience. I've never used the "haskell" docker images.

Also from what I understood Debian is stuck at 8.10.4 so I can't just take the old file and change some versions.

You can install 8.10.7 just fine on debian.

@michaelpj
Copy link
Collaborator

As a tangent to all this discussion, can I suggest we capture the output of this in a version support table in the docs, alongside the policy?

@jneira
Copy link
Member Author

jneira commented Sep 17, 2021

As a tangent to all this discussion, can I suggest we capture the output of this in a version support table in the docs, alongside the policy?

Yeah as commented above I want to write down the policy somewhere in docs.
A table with the schedule for next GHC versions similar to the issue description would be included

@jneira
Copy link
Member Author

jneira commented Sep 22, 2021

Opened pr with the proposal: #2231

@mergify mergify bot closed this as completed in #2231 Sep 23, 2021
@jneira
Copy link
Member Author

jneira commented Sep 24, 2021

We have a document describing the ghc deprecation policy and a schedule/history of ghc versions support:
https://github.com/haskell/haskell-language-server/blob/master/docs/supported-versions.md

I hope it included at some degree all point of viewes and considerations made here, very much thanks all for participating in the discussion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
old_type: meta Planing and organizing other issues status: in discussion Not actionable, because discussion is still ongoing or there's no decision yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.