Skip to content
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

Recommend installing stack instead of MinGHC #75 #87

Merged
merged 4 commits into from
Sep 16, 2015

Conversation

snoyberg
Copy link
Member

@snoyberg snoyberg commented Sep 7, 2015

Pinging @ndmitchell and @3noch. I'm putting this up for a PR because I really do want this to be a discussion, not just a decision on my part. It seems to me like this is a fair assessment of what we discussed on #75, but let's make sure this correctly reflects what we all believe.

@@ -1,10 +1,31 @@
# stack
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right at the head of MinGHC seems a bit surprising. Perhaps this could be a subsection instead?

@3noch
Copy link
Collaborator

3noch commented Sep 7, 2015

I'm certainly a fan of this in principle.

@ndmitchell
Copy link
Collaborator

My only concern is that I often want GHC 7.4, 7.6, 7.8 and 7.10 all installed. In contrast, with Stack, I tend to get various lts versions, and that doesn't really give me GHC versions. Maybe that's really a weakness in Stack, and there should be ghc-7.10.N as a tag, which is the most recent lts of GHC 7.10? If there was a good story there I'd be in favour.

@ndmitchell
Copy link
Collaborator

Also the minghc-7.8.bat script is invaluable, I don't know how to do that with stack.

@snoyberg
Copy link
Member Author

snoyberg commented Sep 7, 2015

I think I can answer both of those:

  • stack --resolver ghc-7.8.4 does work. We only go back as far as 7.8.4 though, so you won't be able to get 7.4 out of stack.
  • I don't know the exact cmd invocation, but shouldn't something like stack --resolver ghc-7.8.4 exec cmd work?

FWIW, I get by when developing on Windows just fine by calling stack ghc and stack runghc.

@3noch I just pushed a commit, though I'm not thrilled with how it makes the README look. I'm OK with this or other tweaks.

@3noch
Copy link
Collaborator

3noch commented Sep 7, 2015

I was thinking something akin to

MinGHC

Stop: You likely want to use stack instead.....

....

@3noch
Copy link
Collaborator

3noch commented Sep 8, 2015

@snoyberg I made some edits. Feel free to change. Like I said, I'm for this direction.

@@ -1,10 +1,33 @@
# Minimum GHC Installer [![Build Status](https://img.shields.io/travis/fpco/minghc.svg?style=flat)](https://travis-ci.org/fpco/minghc)

## Wait, are you sure you don't want `stack`?
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I codified stack to minimize ambiguity for someone very new to the Haskell ecosystem.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So should we go ahead with this?

On Tue, Sep 8, 2015, 11:23 PM Elliot Cameron notifications@github.com
wrote:

In README.md #87 (comment)
:

@@ -1,10 +1,33 @@

Minimum GHC Installer Build Status

+## Wait, are you sure you don't want stack?

I codified stack to minimize ambiguity for someone very new to the
Haskell ecosystem.


Reply to this email directly or view it on GitHub
https://github.com/fpco/minghc/pull/87/files#r38974983.

@3noch
Copy link
Collaborator

3noch commented Sep 10, 2015

Any thoughts @ndmitchell?

The README is probably a nice litmus test for this change since I'm guessing most newcomers find MinGHC via haskell.org.

## MinGHC

MinGHC is still a supported and active project, and makes sense for people
looking for network-free installers for a Haskell toolchain. For more
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or specific GHC versions including older versions.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can't you tell stack to use specific GHC versions too?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only back to 7.8

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But we're not uploading anything prior to that anyway?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have 7.2.2 on the web page.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not make an explicit exception in this list saying "if you need an older version of GHC, use MinGHC."

@ndmitchell
Copy link
Collaborator

I've made one tweak. I also suggest we also supply a bullet point list of how to use Stack like you would minghc. Something like download binary, add to path, type stack install --ghc, run stack ghc. At the moment it's not immediately obvious how stack can do the job of minghc.

@3noch
Copy link
Collaborator

3noch commented Sep 10, 2015

Good call. I think it'd be better to have stack host some sort of install story for Windows and just link to that.

@ndmitchell
Copy link
Collaborator

That would be even better.

@snoyberg
Copy link
Member Author

To be clear: we're talking about stack providing an NSIS-based installer for Windows in addition to the raw executable, correct? I can definitely see value in that, and it would need to just:

  1. Copy stack to $APPDATA\local\bin\stack
  2. Add $APPDATA\local\bin to the PATH

I'm sure there are issues we'd need to get into though about code signing, user vs global install, but something along those lines seems reasonable.

@3noch
Copy link
Collaborator

3noch commented Sep 10, 2015

Actually I was just talking about some sort of "How to" guide. But I have also thought of doing a tiny installer for stack in the past. Perhaps now's the time for that?

@snoyberg
Copy link
Member Author

The installation procedure as it is today is covered on the downloads page: https://github.com/commercialhaskell/stack/wiki/Downloads#windows

@snoyberg
Copy link
Member Author

And there's already an issue about an nsis installer at: commercialhaskell/stack#613

@3noch
Copy link
Collaborator

3noch commented Sep 10, 2015

Cool!

@ndmitchell
Copy link
Collaborator

I was merely talking about instructions, not an installer, on which I'm ambivalent (I prefer zip files to installers). The download says how to get stack on your PATH. With MinGHC we put a working ghc on your path, which is very useful for people experimenting and not using cabal (which is pretty much all beginners to start with). What's missing is "run stack ghc or stack ghci to invoke ghc", and then stack gives the MinGHC experience.

I think this answers @ndmitchell's concerns. @3noch maybe you have ideas
on better wording?
@snoyberg
Copy link
Member Author

OK, merging. We can improve the language over time, and the installer issue is already tracked upstream with stack.

snoyberg added a commit that referenced this pull request Sep 16, 2015
Recommend installing stack instead of MinGHC #75
@snoyberg snoyberg merged commit 6bd5466 into master Sep 16, 2015
@snoyberg snoyberg deleted the 75-stack-over-minghc branch September 16, 2015 03:45
@snoyberg snoyberg mentioned this pull request Sep 16, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants