-
Notifications
You must be signed in to change notification settings - Fork 105
Update downloads page #125
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
Conversation
downloads.markdown
Outdated
- [Configure Chocolatey](https://chocolatey.org/install) on your machine | ||
- At an elevated command prompt, run `choco install haskell-dev`, followed by `refreshenv`. | ||
2. To install stack, follow the instructions [here](https://docs.haskellstack.org/en/stable/install_and_upgrade/#windows) | ||
1. Use [GHCup](https://www.haskell.org/ghcup/) to install |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This suggests to install cabal/GHC via ghcup on windows and lists chocolatey as an alternative. Is that intentional?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This part is no longer a platform-specific instruction: it suggests to use 1) ghcup
, 2) stack
to install Haskell toolchain wherever you are.
Chocolatey was moved below under platform-specific instructions for package managers. If this move is controversial, I'm happy to restore it back, this was done in the interest of clarity and brevity, not because of partisan preferences.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Chocolatey was moved below under platform-specific instructions for package managers. If this move is controversial, I'm happy to restore it back, this was done in the interest of clarity and brevity, not because of partisan preferences.
True, I agree here. But the argument from @parsonsmatt was that neither windows nor stack support are sufficiently "battle-tested".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah this PR has the same problem as the other one, as far as I am concerned
I think the safest option is to add ghcup
as an option under Windows, but not make it the preferred/recommended/"most obvious choice" until it's been in the wild for a bit more time.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@parsonsmatt I'm sympathetic to your view in a context of the previous PR. However, here no installation method is removed, only one added.
Note that ghcup is actually the only tool, fully capable of installing Haskell toolchain (as defined above). So unless there is a specific known issue with regards to Windows support in ghcup, I think it's worth to list it as proposed. But - again - I'm happy to leave it for haskell.org committee to deliberate and decide.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR does quite a bit more than add an option to the list, which would be completely fine IMO.
The first presented option that is relevant to a user should be a well-tested "blessed" choice, with extremely little chance of failure or problems. The current page structure accomplishes this. The user selects their platform, and is given the 'blessed' path - ghcup
for Linux/OSX/FreeBSD and chocolatey
+stack
for Windows.
The simplest change that adds ghcup
as an option is to just add it as an option in the current Windows section.
### Windows { #windows }
1. Install GHC and cabal-install via Chocolatey
- [Configure Chocolatey](https://chocolatey.org/install) on your machine
- At an elevated command prompt, run `choco install haskell-dev`, followed by `refreshenv`.
2. To install stack, follow the instructions [here](https://docs.haskellstack.org/en/stable/install_and_upgrade/#windows)
+3. `ghcup` recently acquired Windows support. To install `ghcup`, follow the instructions [here](wherever this needs to be)
This change accomplishes pretty much what everyone wants: ghcup
gets mentioned under Windows support, ghcup
gets exposure and more users and more testers, the stack
team's concerns about ghcup
as an installation method for stack
are satisfied, my concerns about new-users being funneled into relatively less-tested workflows is abated.
In ~6 months (or whatever timeline works for folks), when there is more confidence in ghcup
's Windows support, then we can switch to this unified installer plan. Then we have one main "How to get Haskell" section (heck yes) and alternatives for different platforms listed below.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR does quite a bit more than add an option to the list, which would be completely fine IMO.
The first presented option that is relevant to a user should be a well-tested "blessed" choice, with extremely little chance of failure or problems. The current page structure accomplishes this. The user selects their platform, and is given the 'blessed' path -
ghcup
for Linux/OSX/FreeBSD andchocolatey
+stack
for Windows.The simplest change that adds
ghcup
as an option is to just add it as an option in the current Windows section.### Windows { #windows } 1. Install GHC and cabal-install via Chocolatey - [Configure Chocolatey](https://chocolatey.org/install) on your machine - At an elevated command prompt, run `choco install haskell-dev`, followed by `refreshenv`. 2. To install stack, follow the instructions [here](https://docs.haskellstack.org/en/stable/install_and_upgrade/#windows) +3. `ghcup` recently acquired Windows support. To install `ghcup`, follow the instructions [here](wherever this needs to be)
This change accomplishes pretty much what everyone wants:
ghcup
gets mentioned under Windows support,ghcup
gets exposure and more users and more testers, thestack
team's concerns aboutghcup
as an installation method forstack
are satisfied, my concerns about new-users being funneled into relatively less-tested workflows is abated.
This is specifically what I do not want: add more options/choice for the user.
The reason the DL page was confusing is exactly this: listing all sorts of installation methods, leaving the user confused.
Ultimately, it should be one single instruction. If that's not feasible, it should be one single instruction per platform. Alternatives are to be listed as a footnote or not at all.
downloads.markdown
Outdated
1. Install GHC, cabal-install and haskell-language-server via [GHCup](https://www.haskell.org/ghcup/) | ||
2. To install stack, follow the instructions [here](https://docs.haskellstack.org/en/stable/install_and_upgrade/) | ||
|
||
*Note: Apple Silicon is not yet supported. You will have to install GHC in `arch -x86_64` compatibility mode using rosetta. See [here](https://derflounder.wordpress.com/2020/11/17/installing-rosetta-2-on-apple-silicon-macs/) and [here](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/101) for more pointers.* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we really want to remove this warning?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, because it is perfectly supported right now!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great! That's a good improvement on its own. Let's get in it separately: #126
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The specifics of this change are to replace Chocolatey with ghcup as the preferred installation method of GHC, cabal-install and haskell-language-server on Windows. The overall effect is that the install instructions become common over Windows, Linux and MacOS. Great!
Chocolatey is moved to "Using a package manager". We should check how @Mistuke feels about this. Still, I am strongly in support of moving towards a common installation method.
I approve this PR. I think it makes some things better without making anything worse. In particular it doesn't impinge on Stack at all. I think a few others from the committee should have a look.
[I will make a few minor cosmetic edits to this later.]
The change looks good and it will help to increase ghcup adoption for stack and windows users so 👍 |
I'm in favor of this change, because windows support is something I have full control over and can adjust and fix freely. Fixing integration issues with stack may require collaboration, which is in limbo right now. |
This is an important point. I would augment it with the observation that we are grateful that @Mistuke developed and supports the Chocolately installer despite being busy with many other things. Regarding ghcup Windows support, based on @hasufell's track record, we can be confident he will be extremely responsive and effective in supporting it, should any problems arise. (Because it is written in Haskell it is easier for others to support too, should the need arise.) |
Wrt chocolatey, I created https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/208 |
@tomjaguarpaw sorry, I'm AFK until next week. Feel free to push force the rebased version over my branch, you should have necessary permissions. |
I have force pushed my cosmetic changes and Julian's suggestions from #129 to this branch. |
I've simplified this further, minimizing the diff (in part by splitting out #130, which is logically separate). |
@tomjaguarpaw any chance to merge this soon? |
Since this counts as a "controversial change" it will need a majority of the Haskell.org committee to approve it before merge. The committee is required to take into account the interests of the full range of the Haskell community. The effect of this PR is to promote ghcup and de-emphasise Chocolatey so the opinion of Chocolately users and developers is particularly welcome. Other stakeholders should have their input too. Another concern, raised by @parsonsmatt, was whether ghcup on Windows is sufficiently well-tested. ghcup has had Windows support for a while now. Perhaps we have enough evidence to say yes it is sufficiently well-tested. |
Note that ghcup prints a message on windows if it detects chocolatey and allows the user to stop and use that instead: https://gitlab.haskell.org/haskell/ghcup-hs/-/blob/5a39ead5237f2fff60ce111f4e3f470fd1e9ded8/scripts/bootstrap/bootstrap-haskell.ps1#L163
@jneira has used it extensively there, any opinion? |
@tomjaguarpaw all right, what would it take to trigger Haskell.org committee vote on this? The PR is open for 7 weeks, I would like to have it resolved one way or another. |
I have to say that i cant imagine manage the haskell toolchain without ghcup now. I was doing it manually before that and was cumbersome. Unify the haskell toolchain setup process for all main platforms is a must imo and ghcup is the working alternative More importantly, the issues reproduced in windows has been resolved diligently by ghcup developers and the project is running its test suite in windows to avoid regressions. And it is previsible it will continue that way. |
The next meeting of the committee is in two weeks. It is also possible to hold the vote asynchronously. I will communicate my support for this PR to the committee. |
I have broadened the call for comments: https://discourse.haskell.org/t/seeking-community-input-on-change-to-haskell-org-downloads-page/3381/ |
I'm a nobody and have little to no experience but haven't seen but good from |
i support @hasufell's tooling as the recommended general user installation for all platforms he feel confident about supporting. |
I sought community input on Discourse, Reddit and haskell-cafe. There was significant support for this change. No one objected to Chocolatey being de-emphasised. The Slack maintainership have told me they have no objection to this change. I strongly recommend this PR to the committee. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, let's do it. Thanks for gathering clear community feedback @tomjaguarpaw!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me, I think this is a great change. Thanks!
Thanks everyone for your input! |
Message after @tomjaguarpaw's changes
The specifics of this change are to replace Chocolatey with ghcup as the preferred installation method of GHC, cabal-install and haskell-language-server on Windows. The overall effect is that the install instructions become common over Windows, Linux and MacOS.
In my view this makes something better without making anything worse. However, the Haskell.org committee can't proceed to merge this without broad community input.
Counterpoints:
@Bodigrim's original message
Since #93 has descended into chaos, I’ll take a risk to suggest an alternative, more conservative approach, which merely mentions that ghcup supports Windows and can install Stack, but does not go any further. I hope it could be more palatable, but if I’m wrong feel free to close, no hard feelings on my part.
This PR still offers a considerable simplification and unification, because installation instructions for all major platforms are now uniform.