What determines what GHC (and Cabal, and HLS, ...) version is marked as "recommended" in GHCup?
Asked Answered
A

1

5

I tend to stick to "recommended" versions:

┌──────────────────────────────────GHCup──────────────────────────────────┐
│    Tool  Version         Tags                          Notes            │
│─────────────────────────────────────────────────────────────────────────│
│✔✔  GHCup 0.1.30.0   latest,recommended                                  │
│─────────────────────────────────────────────────────────────────────────│
│✗   Stack 2.15.7     latest                                              │
│✗   Stack 2.15.5     recommended                                         │
│✗   Stack 2.15.3                                                         │
│─────────────────────────────────────────────────────────────────────────│
│✗   HLS   2.9.0.1    latest                                              │
│✗   HLS   2.9.0.0                                                        │
│✗   HLS   2.8.0.0                                                        │
│✔✔  HLS   2.7.0.0    recommended                                         │
│✗   HLS   2.6.0.0                                                        │
│─────────────────────────────────────────────────────────────────────────│
│✗   cabal 3.12.1.0   latest                                              │
│✔✔  cabal 3.10.3.0   recommended                                         │
│✗   cabal 3.6.2.0-p1                                                     │
│─────────────────────────────────────────────────────────────────────────│
│✗   GHC   9.10.1     latest,base-4.20.0.0                                │
│✗   GHC   9.8.2      base-4.19.1.0                 hls-powered,2024-02-23│
│✗   GHC   9.6.6      base-4.18.2.1                                       │
│✗   GHC   9.6.5      base-4.18.2.1                                       │
│✔✔  GHC   9.4.8      recommended,base-4.17.2.1     hls-powered           │
│✗   GHC   9.2.8      base-4.16.4.0                 hls-powered           │
│✗   GHC   9.0.2      base-4.15.1.0                                       │
│✗   GHC   8.10.7     base-4.14.3.0                                       │
│✗   GHC   8.8.4      base-4.13.0.0                                       │
│✗   GHC   8.6.5      base-4.12.0.0                                       │
│✗   GHC   8.4.4      base-4.11.1.0                                       │
└─────────────────────────────────────────────────────────────────────────┘

However, it looks like I'm having trouble building on Hackage, and maybe it's because Hackage is using a newer GHC than the one GHCup tells me is the recommended version.

So what's the relevance of "recommended", and where does it come from?

Ankney answered 2/8 at 15:47 Comment(1)
My guess is that GHCup and Hackage are thinking about different audiences with different goals when they decide what versions to support. GHCUp is primarily aiming to provide a good experience for users of Haskell, most of whom are not publishing packages publicly. So holding back on recommending the latest versions of the compiler until a lot of the key libraries and tools have caught up makes a lot of sense. Hackage needs to support the latest compilers to support package authors (newer package releases are necessary before the key libraries and tools are "caught up", after all).Nagari
E
6

The GHCup installation page is the first result when you use their page search for "recommended". It tells you:

GHCup has two main channels for every tool: recommended and latest. By default, it installs recommended.

latest follows the latest release of every tool, while recommended is at the discretion of the GHCup maintainers and based on community adoption (hackage libraries, tools like HLS, stackage support, etc.) and known bugs.

So it's whatever their maintainers recommend.

Embolism answered 2/8 at 17:1 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.