Skip to content
This repository has been archived by the owner on Feb 3, 2022. It is now read-only.

Rename Haskell Platform Minimal #250

Closed
acfoltzer opened this issue Aug 29, 2016 · 29 comments
Closed

Rename Haskell Platform Minimal #250

acfoltzer opened this issue Aug 29, 2016 · 29 comments

Comments

@acfoltzer
Copy link

A common theme has emerged in recent threads about how the Haskell Platform is presented on the Haskell.org downloads page. It tends to go something like:

I tried using Haskell Platform a couple years ago, and it was terrible! I couldn't install the libraries I wanted to use. Why on earth does Haskell.org continue to recommend this?

For folks who are Fully Immersed in the goings-on of HP and its recent evolution, this is frustrating because we know the criticism is out of date. However, can we really fault people for being confused? To summarize:

  • What we now call "Haskell Platform Full" (HPF) used to just be called "Haskell Platform"
  • HPF/legacy HP include packages beyond the GHC-bundled packages, which introduces potentially problematic constraints when solving for new libraries
  • "Haskell Platform Minimal" (HPM) includes the same executables as HPF, but in terms of goals is more like an evolution of the now-defunct minimal installers
  • People burned by solver errors with legacy HP see the words "Haskell Platform" and assume HPM is going to give them the same problems

Let's bikeshed up a different name for HPM, so that the bad experiences people once had with legacy HP will stop hampering adoption of a product that is not at all subject to those same issues. To kick it off, a couple of ideas from recent discussions:

  • Core Haskell
  • Haskell Kit
@jfdm
Copy link

jfdm commented Aug 29, 2016

For those new to the discussion about HPM and HPF (i.e. only are aware of Legacy Haskell Platform) and have wandered here from random social media links: Are there any links to further information that can be added here so that we can add responsibly to the bike shedding?

@dagit
Copy link
Collaborator

dagit commented Aug 29, 2016

My understanding is that minimal provides the following (it's at least true on windows):

  • ghc
    • haddock
    • hsc2hs
    • hp2ps
    • hpc
  • alex
  • happy
  • cabal-install
  • stack

Additionally, it does not provide any libraries outside of those that ship with ghc.

If I got that right, then the point of minimal is to provide you with the most common tools (but not the most common libraries). By contrast, the Full install is everything above plus a recommended set of libraries.

Edit: Updated the list of installed programs.

@acfoltzer
Copy link
Author

acfoltzer commented Aug 29, 2016

Indeed, though it's worth noting that it transitively includes the other tools that come bundled with GHC such as haddock, hsc2hs, hp2ps, and hpc.

Historically, the extra libraries included with legacy HP (and now HP Full) have been the source of the dependency resolution headaches that gave HP a bad name.

@jfdm
Copy link

jfdm commented Aug 29, 2016

That clears it up nicely thanks.

I think something like the suggested Haskell Core, or Haskell Tools or Haskell Base would be more suitable. I think something that projects the idea of a starting point for using Haskell is better than 'kit'. To me kit means tool kit which implies a kitchen sink.

@gbaz
Copy link
Contributor

gbaz commented Aug 29, 2016

The Full one should keep the platform branding I think. But "minimal" can lead someone to think "not as good, I should always get Full" and that's not really the intent (we just adopted the terminology from the minimal installers as it was recognized). So I agree some rebranding here could help. I lean towards "Core Haskell" -- the problem with Base is it might overlap with the name of the base library, leading to confusion. I'd be happy for more names to be thrown against the wall too.

@erantapaa
Copy link
Contributor

"Haskell Platform Lite"?
On Aug 29, 2016 3:18 PM, "gbaz" [email protected] wrote:

The Full one should keep the platform branding I think. But "minimal" can
lead someone to think "not as good, I should always get Full" and that's
not really the intent (we just adopted the terminology from the minimal
installers as it was recognized). So I agree some rebranding here could
help. I lean towards "Core Haskell" -- the problem with Base is it might
overlap with the name of the base library, leading to confusion. I'd be
happy for more names to be thrown against the wall too.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#250 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AACxcPJonJ4m8u6iswXqn2UM7V_AVLK0ks5qkz6ogaJpZM4JvtJC
.

@dagit
Copy link
Collaborator

dagit commented Aug 29, 2016

Taking inspiration from Douglas Crockford, how about "Haskell Platform: The Good Parts" :)

@23Skidoo
Copy link
Member

Taking inspiration from Douglas Crockford, how about "Haskell Platform: The Good Parts" :)

It's a bit too harsh, most libraries included in the full Platform (e.g. text and vector) are certainly "the good parts".

@acfoltzer
Copy link
Author

I would rather support choices that doesn't include the word "platform" at all; I don't think the "Minimal" part is the problem with the existing name.

@sopvop
Copy link

sopvop commented Aug 30, 2016

haskell toolchain - like GNU toolchain but for haskell.

@hsenag
Copy link
Member

hsenag commented Aug 30, 2016

What will happen once 'cabal new-build' is the default in the cabal-install shipped with the platform? Will there then be any danger from having the pre-installed libraries again?

@asandroq
Copy link

+1 for the already suggested Haskell Base and Haskell Kit.

Core Haskell may be confused with the GHC core language.

@gbaz
Copy link
Contributor

gbaz commented Aug 30, 2016

Absolutely once we move to new-build then shipping a new-package-db that's bigger or smaller will have no downsides outside of install size. We still may want a minimal then regardless though?

@gbaz
Copy link
Contributor

gbaz commented Aug 30, 2016

I'm warming towards Haskell Kit as a name. It's less overloaded and feels both comprehensive and lightweight.

@hsenag
Copy link
Member

hsenag commented Aug 30, 2016

Personally I wouldn't have thought there's any point in making a distinction and adding to user confusion once we have new-build, but either way I'd suggest being planning the name change now with that later switch in mind.

@ciez
Copy link

ciez commented Aug 30, 2016

The name is actually not important as long as the package content is made clear to user. What is alex, what is happy etc.

Could even give it a catchy id name, like names of Android versions - for ease of referring to.
how about one of these

@BardurArantsson
Copy link

I'd suggest the name "Lean" for the minimal HP.

@cies
Copy link

cies commented Aug 30, 2016

Haskell Toolchain (as @sopvop suggested, for the minimal variant). The non-minimal variant could then use a some extra word in the name, but honestly I do not think it should exist. Once you have Stack you can simple install all additions.

If there are some additions that are not easy to compile yourself (maybe the GL stuff), then I'd like to have that put into a specific "extension" of the toolchain; this way distros can package it accordingly (haskell-toolchain, haskell-toolchain-gl, etc.).

@hsenag
Copy link
Member

hsenag commented Aug 30, 2016

I think distros already rightly break the platform up into smaller packages and then have the platform be a meta-package or similar.

@garethrowlands
Copy link

I agree with the others who say it's important to indicate what's in the installer. So:

  • Haskell Platform - toolchain including Stack (recommended for new users)
  • Haskell Platform - toolchain plus globally installed libraries

@gbaz
Copy link
Contributor

gbaz commented Aug 30, 2016

@garethrowlands both platform versions include stack. One just includes more libraries and one doesn't. Are there proposals for how to update the page to make this more clear? Those would be welcome, but ideally tracked under another ticket. This discussion hopefully can stick to the name given to the minimal platform with the additional understanding that there will also be other differentiating text elsewhere.

@garethrowlands
Copy link

@gbaz fair enough. So my suggestion for the names of the variants is:

  • Haskell Platform - toolchain only
  • Haskell Platform - toolchain plus globally installed libraries

@jmchapman
Copy link

I would vote for keeping the names, but making it clear what's included.

@mightybyte
Copy link

mightybyte commented Aug 30, 2016

I also think the rename is a good idea. Of the things suggested here thus far, my favorite is "Haskell Toolchain". Due to confusion with the old (unliked) platform, I don't think we should use the words "Haskell Platform" any more for anything other than the actual old platform being retained for compatibility.

I do think it's important to retain mention of the old platform for compatibility for at least some time--perhaps below the fold and with visible warnings that it is deprecated and should only be used for existing things that depend on it. This should facilitate the collection of more meaningful stats on how much impact complete removal would have.

When I first read this issue, the words that immediately popped into my head were "Get Haskell". As a proper name it's not the greatest. But as a button somewhere it's pretty good. As a newcomer I would expect a "Get Haskell" button to take me straight to an OS page or to auto-detect my OS and just give me the recommended thing (the new minimal platform).

Also...I did a quick survey of a few programming languages to see their download process. Here's a summary:

https://gist.github.com/mightybyte/4183b0e24d426fe9c997151a13f1c002

Clojure was the easiest, requiring just a single click from the front page of their website to having a download on my computer.

Ruby was the worst, taking me through three clicks before I discovered "brew install ruby".

@jaccokrijnen
Copy link

My vote goes to "Haskell Toolchain" as well.
Perhaps rename the full platform to "Haskell Toolchain Extra" or just keep it "Haskell Platform", but without the "Full" in any case.

@acfoltzer
Copy link
Author

My concern with "Haskell Kit" as well as "Haskell Toolchain" is that if they're offered alongside "Haskell Platform", the names don't (at least to me) communicate a relative difference between the two. This as opposed to "Core" which just sounds smaller than "Platform", but again there's the overloading problem with "Core".

@ciez
Copy link

ciez commented Aug 30, 2016

if more than one package version are offered, why not give them all a generic name and add a nickname to tell them apart?

Haskell SDK {nickname} {version}

e.g.:
Haskell SDK Beginner 8.0.2
Haskell SDK Core 8.0.2
Haskell SDK More 8.0.2
...

may call it HDK even

a bit copycat but at least some newbies will feel right at home.

@23Skidoo
Copy link
Member

My concern with "Haskell Kit" as well as "Haskell Toolchain" is that if they're offered alongside "Haskell Platform", the names don't (at least to me) communicate a relative difference between the two.

Haskell Core Toolchain then?

@gbaz
Copy link
Contributor

gbaz commented Jan 21, 2017

minimal -> core in the new website, to help alleviate confusion

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests