It's not really a question of specific environments (though the situation
is worse on Windows). The main problem is that the presence of extra
packages in the global package database leads to lots of problems (usually
in the form of user confusion, since cabal-install warns them about
breaking things). In addition, the platform is currently only shipping with
cabal-install, and not with Stack, making the points I make in favor of
Stack's defaults (isolation-by-default, curation) relevant.
We can discuss the future when the HP is no longer shipping with global
packages and includes Stack in terms of my points above, but I think we
should save that for a separate thread once those changes land.
On Thu, Sep 24, 2015 at 2:08 PM, Alan & Kim Zimmerman
This is intended to be an interim page.
Perhaps it then makes sense to explicitly list the environments where the current HP is known to install cleanly, or alternatively the ones where it is known not to. This can help a new user to decide which option to use.
Alan
On Thu, Sep 24, 2015 at 8:32 AM, Michael Snoyman
wrote: On Thu, Sep 24, 2015 at 8:20 AM, John Wiegley
wrote: As mentioned earlier, I've been working on a draft version of the new Haskell download page in consultation with Simon PJ, Michael Snoyman, and Gershom Bazerman. The goal has been twofold:
a) add stack as an explicit option, and
b) add text to each option indicating clearly what it provides and where to get further help, so users can understand the options and make an informed choice.
We've sought to keep the text factual, rather than imply that one option is "best" for any particular class of user, since opinions vary so widely on this point.
At the following link, you'll find a draft version of the new page for comment:
https://gist.github.com/jwiegley/153d968ddfc9046ee4c9
Hopefully it can go live on haskell.org next week, so please contribute your edits here, or by pull request. The goal is to explain each option so that people can make an informed decision.
However, the order of presentation does imply that whatever comes first is "preferred" even if that is not the intent. The order currently given is HP, Stack, Minimal. Chris has already made a few points about changing this order, so let's continue that discussion and see where it leads us.
Bear in mind that this is (hopefully) only an interim state. The plan is to add Stack to the Platform, and render the Platform minimal, which will consolidate this page down to a single, recommended download path.
At the bottom of the gist are incomplete sections on third party libraries and alternate installation approaches. These have yet to be written. The hope is to resolve the top content first and sort the rest out after; however, ideas for that content is most welcome too.
Thank you, John Wiegley _______________________________________________ Haskell-community mailing list Haskell-community@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-community
Firstly, thank you John for working on this.
Secondly, I'd like to make clear what I think the goal for the downloads page should be: new users. Experienced Haskellers are unlikely to even visit this downloads page, and are likely well aware of the situation around tooling to make an informed decision regardless of what this page says. I'd like us to constrain discussion to "what's best for a new user." I haven't heard anyone object to this idea before.
I'll repeat what I've said in various other places: given the current state of the Haskell Platform and the fact that it's known to cause many problems - especially for new users - it should not be top option. I recommend putting Stack at the top. My arguments are:
1. It's being designed from the ground up to give a good new user experience in terms of UX 2. Curated package sets by default is (IMO) the best option for new users. We don't want a new user to download a massive installer, run `cabal install foo`, only to find out that there's a bug in the most recent version of foo preventing it from installing. (That's not even getting into issues of dependency solving.) 3. There's a complete guide to using Stack available which is targeted at new users. A common complaint we see about people starting with cabal is that they trash their package databases by not using sandboxes, and then being told they did it the wrong way. Both the change in default behavior and the guide will help that problem. 4. New users will often not know in advance which version of GHC they really need. Stack can handle that for them by downloading the appropriate GHC for their project. 5. There's a clear upgrade story for Stack, including: upgrading Stack itself, upgrading to new snapshots, and upgrading GHC. 6. It's already built for a large number of OSes 7. On Windows, it's the only solution right now that provides a full MSYS2 + Pacman setup, allowing both building the network package without modifying the PATH, and installing new system libraries via pacman[1]
I'll stop there, it's already a pretty long list. I'd like to make a request for the rest of this discussion: instead of arguing about what the current state of the downloads page is, or what may be happening in the future, can we focus on what will be best for new users today? If someone wants to make an argument for putting the HP at the top, for example, it should be based on "the HP is the best choice for new users today because X."
Michael
[1] https://twitter.com/snoyberg/status/638359459304239104
_______________________________________________ Haskell-community mailing list Haskell-community@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-community