On Fri, Sep 25, 2015 at 9:25 PM, John Wiegley <johnw@newartisans.com> wrote:
>>>>> Michael Snoyman <michael@fpcomplete.com> writes:

> There was a lot of discussion on Twitter about this thread, but almost none
> of those participants wrote into this discussion. When I asked why[1], I got
> (at least[2]) two forms of response:
>
> 1. I don't want to sign up for another mailing list just to vote

I've been there before.

> 2. Previous actions made it seem like the voting would be inconsequential to
> the outcome

This is most unfortunate. The voting certainly matters, since I'm looking for
community feedback to finalize the edits.

> To try and lower the barrier to entry, I created a Google Form with the same
> questions as above:

> https://docs.google.com/forms/d/1w2wKSxn5YN4LtSXYHvFT2IFw_BDaT_2cjUkP9pDeqLQ/viewform?usp=send_form

Thanks for this additional data.

I've counted the most votes on the ML for #4. Several of those voting for #4
also voted for #5. The Google Form seems to strongly prefer #3 and #5. So
let's drop this down to the three main choices:

    (A) Stack   Minimal HP
    (B) Minimal HP      Stack
    (C) Minimal Stack   HP

(A) has a very strong showing on the Google Form, but not on the ML. The
arguments I've collected right now for not preferring (A) are:

  - Stack hasn't proven itself over time yet, the way cabal has.
  - Stack doesn't actually download a Haskell compiler.
  - Stack does not make using "ghci" easy.

As for whether HP should be first or not (B or C), I don't have strong
feelings, since we *are* going to merge the two options.

I'd like to open a second round of voting now on these three options, unless
someone wishes to make a case for those that were dropped.

> Given the obvious sentiment around (2) mentioned above, I think it's
> important to pay attention to what people are saying outside of this mailing
> list.

If you know of discussions happening elsewhere (SO, reddit, Google+, etc),
please let me know, since I don't follow those communities. I only happened
upon your Twitter discussion because Gabriel retweeted it.

John

I don't think another round of voting is necessary, and I think asking for it is a clear message of not listening to people who voted the first time. I'm also cognizant of Simon's comments about spending too much time on this, which frankly I've already far overextended on.

This response is probably going to get a bit meander-y, but I want to make sure we're on the same page about things. The point has been raised multiple times that - in the future - Stack and HP will really be the same option. I actually have a very different read on the situation: today, Stack and *minimal installers* are the same option. I would never have categorized them as being two separate choices, but as really being the same choice with a few distinguishing characteristics:

* Stack: easily download multiple versions of GHC, easier upgrade path, doesn't add a lot of binaries to your PATH. Allow easily downloading and building all additional tools (alex, happy, cabal-install, etc)
* Minimal installers: provide Stack, alex, happy, cabal-install, and GHC out of the box. Preferable if: you don't want a build tool downloading your compiler, you'll be reusing the downloaded file on multiple machines, you want to use cabal-install instead of Stack, or you want to make sure you have GHC and friends on the PATH.

My proposal - which is very much in line with the voting results - would be to make this section first, and the Haskell Platform section second.

I'm not sure if opening this can of worms now is a good idea or not, but I'll ask it: I don't understand what the future vision is for the Haskell Platform relative to the minimal installers. As I see it, in the future the Haskell Platform will be indistinguishable from today's MinGHC/GHC for Mac OS X, with the possible addition of some global constraint file that is still too ill-defined for me to be certain what it's going to do[1].

Richard: your concern seems to be having a GHC available on the path that students can use today. Where do the minimal installers fall short on this? The big area I see where that will happen is that HP includes more packages in the global database. But that's exactly the aspect of HP which is planned to change in the next release, meaning the advantage you're going for is going to disappear anyway.

I realize I've muddled many things together here (and perhaps a separate "future of HP" thread is in order), but I've just been getting more confused reading the various responses. So to sum up, here's what I'd really see as the future of the downloads page:

* Links provided for a minimal installer and Stack itself
* I picture that at some point, instead of having HP and MinGHC/GHC for Mac OS X, we'll just have one option. I don't care what that option is called, so may as well call it HP
* Explanation along the lines I gave above about difference between Stack and minimal installer, possibly also about difference between Stack and cabal-install (I'd focus on curation vs dependency solving, even though that's not technically the primary difference between the two)
* Including "getting started" style guides for using each tool. The Stack guide could work for both Stack itself and the minimal installer, and in the future a link to a cabal-install guide could be provided as well

With this approach, I think we can give very concrete advice to new users, collapse the download options down significantly, and streamline the community efforts on installers substantially. In the short term: we keep a link to the HP at the bottom of the page, explaining that it ships with more packages than minimal installers, and that in some cases it can be difficult to upgrade those packages.

As a side note, this is not terribly different from what I proposed originally in my pull request[2].

Michael

[1] https://mail.haskell.org/pipermail/cabal-devel/2015-September/010247.html
[2] https://github.com/haskell-infra/hl/pull/130