[Haskell-community] Request for comment: New haskell.org download page
Michael Snoyman
michael at fpcomplete.com
Thu Sep 24 11:38:06 UTC 2015
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 <alan.zimm at gmail.com>
wrote:
> 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 <michael at fpcomplete.com>
> wrote:
>
>>
>>
>> On Thu, Sep 24, 2015 at 8:20 AM, John Wiegley <johnw at newartisans.com>
>> 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 at 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 at haskell.org
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-community
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-community/attachments/20150924/c40aa930/attachment.html>
More information about the Haskell-community
mailing list