-
Notifications
You must be signed in to change notification settings - Fork 96
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
Explanation of GHCup vs. stack #191
Comments
This is historically a highly contentious issue and as such it should be resolved by the community outside of the auspices of www.haskell.org. Once resolved www.haskell.org can incorporate any content compatible with the resolution. www.haskell.org cannot afford to be seen to take sides in this issue. |
Thanks, and totally understand this positioning. Just as a follow up, would you agree that it would be useful for new users to have this information in order to make an informed choice? That absent this information, the Downloads page will never really make sense? Within this context, I was considering a PR along these lines, a refactoring of the downloads page that made it clear there are two options and explained the differences between them. I imagine it is possible and practical to lay it all out without contention but maybe I'm not quite across the specifics yet. It could be cathartic, even. Do you have any thoughts on how to usefully progess this? |
I think it could make sense to have a page documenting the differences. This page would go out of date occasionally, so it would need regular maintenance from someone who knows both Stack and Cabal very well. I don't think this page should be the downloads page though. Presenting this information is IMO more likely to overwhelm and confuse newcomers rather than help them get started as easily as possible. |
Yes, absolutely. It seems likely to me that confusion between stack and cabal, and also between stack and ghcup, is a significant bump in the road for new users. I would love the situation to improve but I doubt that this is our "low-hanging fruit". The diplomatic and community-outreach efforts required to resolve this are enormous. Personally I'd rather spend my time on other things, and I would rather the Haskell.org committee were not distracted by such matters at the current time.
I think a PR is unlikely to make much progress without prior trust-building groundwork laid in the community. You, or indeed anyone, is welcome to put together such a PR, but I expect the effort to go to waste in the absence of such prior groundwork.
Yes, here is what I would do (and may indeed do, but not in the next few months):
This whole process needs to be handled with delicacy, tact and empathy (although I think it's less likely to become contentious than in years gone by). |
Perhaps we first need a "Getting Started" page? Either refactoring the downloads page into "getting started", or as an adjunct?
Well, we either need to put onboarding haskellers onto a specific, currated path, or we need to explain the options as we go. I think this explanatory content would be ok to link to from a getting started page: "if you need more info in the options, look here". However I think it makes more sense to target a simple and cohesive onboarding experience (but I recognize that is blocked on the "difficulty agreeing" problem as noted in previous comments), so we go in circles. |
I think both of these are a good idea. |
You probably mean "installing GHC via X", where X is either ghcup or stack. Let's look at it. Differences
So, stack is basically not a cli interface for managing GHC installations. It's a cli interface for building haskell projects and toolchain installation is implicit. GHCup is a toolchain management tool. Nothing more, nothing less. And it can be used as a building block for other tools, e.g. nvim-lsp-installer or vscode-haskell or vabal or haskell-CI, haskell/actions etc. etc. Similarities
Intersections and interoperabilitySo, the interesting questions are:
|
GHCup already has such a page: https://www.haskell.org/ghcup/steps/ |
I am new to haskell. In fact, I have never written a single line of haskell. But It sounds nice, so I want to give it a try. Unfortunately I am using archlinux. So I had to learn, the I should not use package in the archlinux packages but use stack or ghcup instead. So the next step is to find out which of them I should use as a beginner. In the end, I find myself in this github issue. I understand you intention, that you don't want to say, that one tool is better then the other. But for me as a beginner, the learning curve to write the first line of haskell is very high. |
There is an annoying
|
@HtwoO please open an issue here: https://github.com/haskell/ghcup-hs/issues This is not about haskell.org. |
Can we include a clear explanation of when a user would choose:
Thinking through the complexity and how to help new users navigate, I felt it would be difficult to make a good choice on the installation method without understanding the nuances of the basic package management decisions involved.
I note that this is a live topic for the community, and potentially a fresh look at the issues from the perspectiove of a new user:
https://www.reddit.com/r/haskell/comments/tvbrmp/stack_compared_to_cabalinstall/
The text was updated successfully, but these errors were encountered: