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-9.2 track list #2982

Closed
3 of 8 tasks
July541 opened this issue Jun 22, 2022 · 15 comments
Closed
3 of 8 tasks

ghc-9.2 track list #2982

July541 opened this issue Jun 22, 2022 · 15 comments
Labels
GHC issues with particular GHC versions old_type: meta Planing and organizing other issues status: blocked Not actionable, because blocked by upstream/GHC etc. type: enhancement New feature or request

Comments

@July541
Copy link
Collaborator

July541 commented Jun 22, 2022

Continue #2179.

Unsupported plugins

Allow-newer items(Outdated)

@July541 July541 added type: bug Something isn't right: doesn't work as intended, documentation is missing/outdated, etc.. status: needs triage GHC issues with particular GHC versions status: blocked Not actionable, because blocked by upstream/GHC etc. old_type: meta Planing and organizing other issues type: enhancement New feature or request and removed type: bug Something isn't right: doesn't work as intended, documentation is missing/outdated, etc.. status: needs triage labels Jun 22, 2022
@michaelpj michaelpj pinned this issue Jun 23, 2022
@hellwolf
Copy link

For some reason hlint plugin is not available for the ghc-9.2.2 for me, I have hlint 3.4 installed.

$ haskell-language-server-9.2.2 --list-plugins 
2022-07-24T16:12:25.580959Z | Info | No log file specified; using stderr.
LSPRecorderCallback
alternateNumberFormat
callHierarchy
changeTypeSignature
class
eval
floskell
fourmolu
ghcide-code-actions-bindings
ghcide-code-actions-fill-holes
ghcide-code-actions-imports-exports
ghcide-code-actions-type-signatures
ghcide-completions
ghcide-core
ghcide-hover-and-symbols
ghcide-type-lenses
importLens
moduleName
ormolu
pragmas
qualifyImportedNames
refineImports
rename
selectionRange
stylish-haskell

While for 8.10.7, it's available:

$ haskell-language-server-8.10.7 --list-plugins  | grep hlint
2022-07-24T16:14:16.368004Z | Info | No log file specified; using stderr.
hlint
$ hlint --version
HLint v3.4.1, (C) Neil Mitchell 2006-2022

@pwm
Copy link

pwm commented Jul 25, 2022

I have the same issue as @hellwolf

GHC 9.2.2:

~/w/ghc922 $ ghc --version
The Glorious Glasgow Haskell Compilation System, version 9.2.2
~/w/ghc922 $ hlint --version
HLint v3.4, (C) Neil Mitchell 2006-2022
~/w/ghc922 $ haskell-language-server --version
haskell-language-server version: 1.7.0.0 (GHC: 9.2.2) (PATH: /nix/store/8a6bjmk2wksw5lkrkpbw2vvfvblpsqy0-haskell-language-server-1.7.0.0/bin/haskell-language-server)
~/w/ghc922 $ haskell-language-server --list-plugins | rg hlint
~/w/ghc922 $

GHC 9.2.3:

~/w/ghc923 $ ghc --version
The Glorious Glasgow Haskell Compilation System, version 9.2.3
~/w/ghc923 $ hlint --version
HLint v3.4.1, (C) Neil Mitchell 2006-2022
~/w/ghc923 $ haskell-language-server --version
haskell-language-server version: 1.7.0.0 (GHC: 9.2.3) (PATH: /nix/store/jz44bicm5qd7rkgr9xkyp99ma56jiac8-haskell-language-server-1.7.0.0/bin/haskell-language-server)
~/w/ghc923 $ haskell-language-server --list-plugins | rg hlint
~/w/ghc923 $

@July541
Copy link
Collaborator Author

July541 commented Jul 29, 2022

@hellwolf @pwm Thank you for your report.

HLS shipped with hlint internally and not rely on user installed hlint.

hls-1.7 doesn't support hlint plugin on ghc-9.0 and ghc-9.2. If you are eager to be equipped with hlint, please consider installing hls from the source code by reference https://haskell-language-server.readthedocs.io/en/latest/installation.html#ghcup and #2985.

@hellwolf
Copy link

@July541 oh, thanks for the insights. But somehow hlint would give more linting error than the internal hlint for some reason? My ".hlint.yaml" is fairly empty.

@July541
Copy link
Collaborator Author

July541 commented Jul 29, 2022

But somehow hlint would give more linting error than the internal hlint for some reason? My ".hlint.yaml" is fairly empty.

Not sure about that, but hls will ignore all hint with Ignore severity, please feel free to raise an issue if you found something unnormal :)

diagnostics :: NormalizedFilePath -> Either ParseError [Idea] -> [FileDiagnostic]
diagnostics file (Right ideas) =
[(file, ShowDiag, ideaToDiagnostic i) | i <- ideas, ideaSeverity i /= Ignore]
diagnostics file (Left parseErr) =
[(file, ShowDiag, parseErrorToDiagnostic parseErr)]

@mouse07410
Copy link

How are we doing with GHC-9.2.4? ;-)

And I'd like to ask about

  • plans to progress from "limited" to "full" support for GHC-9.2.x?
  • plans to support GHC-9.4.x, which will probably hit release in not-too-distant future (while it's in Alpha, it's probably not that important)?

@July541
Copy link
Collaborator Author

July541 commented Aug 10, 2022

How are we doing with GHC-9.2.4? ;-)

I'll try to do this.

plans to support GHC-9.4.x, which will probably hit release in not-too-distant future (while it's in Alpha, it's probably not that important)?

We have a working thread #2994, but not a clear plan I think. #2700 (comment) hopes we have an initially release before this summer, it doesn't seem to have come true...

@July541
Copy link
Collaborator Author

July541 commented Aug 10, 2022

plans to progress from "limited" to "full" support for GHC-9.2.x?

Fully supporting ghc-9.2 is not easy, especially since some plugins lack maintenance and need much work to migrate to ghc-9.2. Personally, I think we can announce a "morally" fully support instead of "perfect" fully support after wingman supported ghc-9.2.

@ParetoOptimalDev
Copy link

I think you need the splice plugin before claiming 9.2 support even more than wingman.

@michaelpj
Copy link
Collaborator

The splice plugin is currently tier 3 because it is not maintained well enough for us to reliably update it for new versions. So it's effectively outside what we consider "full" support until someone steps up to maintain it more consistently.

@ParetoOptimalDev
Copy link

ParetoOptimalDev commented Oct 13, 2022

That is unfortunate.

The last 5 professional codebases I worked on used at least some template Haskell.

I don't think I'll be able to maintain it, but will try getting the PR for it that's open building locally and poke around.

@andys8
Copy link
Collaborator

andys8 commented Oct 13, 2022

Docs claim 9.2 is fully supported

image

But this warning says otherwise, and refers to this ticket which is open:

LogOnlyPartialGhc92Support ->
"Currently, HLS supports GHC 9.2 only partially. See [issue #2982](https://github.com/haskell/haskell-language-server/issues/2982) for more detail."

@michaelpj
Copy link
Collaborator

The last 5 professional codebases I worked on used at least some template Haskell.

The splice plugin does not provide support for template haskell. It only allows evaluating them in-situ, which is hardly essential functionality.

But this warning says otherwise, and refers to this ticket which is open:

Yes, we should update that warning to talk about 9.4.

@andys8
Copy link
Collaborator

andys8 commented Oct 13, 2022

Yes, we should update that warning to talk about 9.4.

Jap #3286

mergify bot added a commit that referenced this issue Jan 2, 2023
* Update list of unsupported plugins

I checked fourmolu and hlint work fine with ghc 9.4. Other plugins are updated according to the following issues: 

ghc 9.2: #2982
ghc 9.4: #3190

* Also mark `retrie` as compatible with ghc 9.2

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
@July541
Copy link
Collaborator Author

July541 commented Mar 30, 2023

Close as we have full support ghc-9.2.

@July541 July541 closed this as completed Mar 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
GHC issues with particular GHC versions old_type: meta Planing and organizing other issues status: blocked Not actionable, because blocked by upstream/GHC etc. type: enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

7 participants