RFC: removing "alternative installation methods" from haskell.org (or finding them owners)

The Haskell.org committee is considering removing the “alternative installation options” section from the downloads page of haskell.org and we seek the opinion of the community. If you would like to share your opinion we prefer that you do so on the haskell.org issue tracker, but failing that, in this comment thread is fine too.

Background

The downloads page of haskell.org suggests using ghcup and stack to obtain a toolchain. These two tools are widely used in the community, actively maintained and kept up-to-date. The page also provides a number of “alternative installation options” (see below, or on the page itself, for the list).

The Haskell.org committee does not have the resources to ensure that these alternative installation options are kept maintained and confirmed working. We don’t even know if anyone uses them. Anyone who uses them is likely to be an “advanced user” anyway, since they require more expertise to implement. stack and ghcup presumably work well on all those platforms, are the most well-maintained installation options and most suitable for beginners.

Possibilities

We have a couple of options:

  1. Remove all the alternative installation options.
  2. Keep (some of) the alternative installation options and find community volunteers to maintain them. The volunteers will be responsible for ensuring verifying on a regular basis that their instructions are still working, submitting timely corrections when necessary, and responding promptly on the issue tracker to questions about their installation instructions.

What we would like from you

  • Please share your opinion about removing the alternative installation options, especially if you are a user of one of them!
  • If you are willing to maintain an alternative installation option, please speak up!

Current alternative installation options

8 Likes

Hello Tom, I am not sure I understand: is Nix a “blessed” or “alternative” option as now?

It’s not “blessed” but it’s not even really listed as an “installation option” because all it says is

  • nix: a popular cross-distro package manager, aiming to provide reproducible builds and declarative configuration

So, that’s not going to go out of date, but it’s also not particularly useful. Perhaps someone from the Haskell/Nix intersection could flesh it out? Or does Nix itself have a “getting started with Haskell” page?

3 Likes

Thanks! I ask because — according to State of Haskell 2021 — Nix is one of the “big three”. I don’t use it personally so I cannot provide more useful informations.

3 Likes

Thanks, that’s great info for us to be aware of.

In general, there are plenty of people who I encounter who want to install ghc with their system package manager, and are resistant to using ghcup, stack, or anything else. Sometimes they can be convinced to give another approach a try. Other times, they have what from their standpoint are very good reasons for using ghc this way – related to wanting to have a uniformly managed system image using a single package manager or the like – either because they are managing a number of computers at once (e.g. in a lab) or because they are building systems with deployments as well.

So I think it is worth keeping around in some fashion the fact that ghc and cabal and stack are packaged up and made available in most major distros, and that they may not always be the most up to date, but they are there and usable (with the caveat, of course, of arch, where they are there and you really shouldn’t trust them).

3 Likes

That makes sense. Could you suggest a particular wording that would work for this purpose?

I believe a better course of action is to not remove the section, but instead of giving instructions, we only give links, e.g.:

Links don’t go dead as quickly as do custom instructions. People running a distro should be aware of how to use their package manager. It’s not our job to teach them. But giving exhaustive info (e.g. official repo vs user-maintained repo) is possible.

3 Likes

Wrt nix I suggest to remove it entirely.

  1. it’s not an option for beginners, at all
  2. users interested in nix will have to walk through tons and tons of information that we can’t possibly manage to give and very likely won’t look for that on the haskell.org homepage either (e.g. nixpkgs vs haskell.nix etc.).
3 Likes

As a Nix user, I agree. As a user of NixOS, I know where to go to see if software packages are available for download.

I think that goes for any distro.

I could imagine a single catch-all clause saying, “If you are using a Linux/Unix distribution such as Debian, Ubuntu, or , there may be Haskell packages already available. Consult their documentation and package lists. Note that Haskell.org doesn’t maintain them, and they might be out of date.”

I think the page should only explicitly link to installation mechanisms that Haskell.org is actively maintaining or supporting. It doesn’t have to represent “the entire Haskell ecosystem”—that’s too big of a thing to fit into a single website, anyway.

Edit: this was supposed to be a reply to hasufell’s last post, but Discourse seems to have missed that fact. Or maybe I clicked the wrong button.

5 Likes

Perhaps if we remove links to all the other distros as well.

Otherwise I can’t make sense of removing one of the top 3 most used ghc install options.

As I said, giving users an easy way to figure out which GHC version exists in an official repo and which unofficial ppa/overylay etc. they can use for the lateat versions is useful information.

Which installation options are maintained by Haskell.org?

GHCup is hosted by haskell.org. I don’t think anyone expects haskell.org itself to be a body that maintains projects. That’s up to contributors/community.

There are NixOS - Nixpkgs 21.11 manual and https://haskell4nix.readthedocs.io/

I also think distro packages should be at least mentioned, preferring links instead of instructions.

We could link to the ghc, cabal etc. repology pages (example: ghc package versions - Repology). They provide fancy “badges” too: ghc packaging badges - Repology

Or even GNU/Linux - HaskellWiki and let people add their favorite distro to the list

1 Like

I think that page is messy and doesn’t seem to show all user ppas/overlays. That’s the main point of manually linking to major distros.

Hey Hey,

I don’t know If this is a relevant piece of information or not, but on arch I don’t think people actually use the package manager installation for development…
The only reason I have to have it is because I use xmonad, and the package manager’s ghc is a dependency…
I am not sure I would be a good option to help maintain the “Linux Arch” alternative, because in my humble opinion I think using stack is far more convenient then installing
the stand alone compiler

As a small question, is it worth it to have ghcup and stack at the same time?

In my PR there is no link to archlinux repo and instead a warning:

DO NOT USE ARCH LINUX PROVIDED GHC PACKAGES. THEY ARE BROKEN.

3 Likes