Re: [Haskell-cafe] When did it become so hard to install Haskell onWindows?

Remember GHC's motto is 'avoid success at all costs'. Then naturally it is prohibitively difficult to get to use GHC. For students/people who you want to encourage to love Haskell, especially on Windows, I'm astonished you're not using Hugs, especially WinHugs (2-click install). Despite being over a dozen years unsupported it is still orders-of-magnitude more friendly than GHC, and has plenty of functionality (in Hugsmode) for undergraduate level. What's more Haskell from the intro texts just works on it; whereas GHC throws all sorts of obscure advanced type errors. I don't think powershell is a 'standard tool'. I use mostly Windows machines, I'm aware of powershell, I've never used it. Chocolatey is an abhorence. Fortunately I've never had to use it; I don't know why GHC would inflict it on anybody. Increasingly, GHC HQ is a cult/elite that doesn't want any new members. The difficulties in trying to use GHC just show how exclusive it has become. AntC
I appreciate that these things are standard tools for Windows developers, but it's worth noting how much harder it can make things for completely new people (either new developers or new to Windows).
At the start of the year, I prepared install instructions for university students who would be using Haskell as part of a first year CS course. We needed to use GHC 8.6.5 because certain libraries were not available for GHC 8.8.x (their base upper bounds hadn't updated, which ruled out haskell-dev), and tried to use Chocolatey as an experiment.
It was remarkably tough to get students set up on their own machines. I was planning on recommending the Haskell Platform installer for Semester 2 this year, and am disappointed to find that it no longer exists.
If it becomes too hard for students to install Haskell on their own Windows machines, it may become too hard for us to use Haskell as an educational tool, and I'd consider that a tragedy.

I (cautiously?!) agree – that it is good to avoid elitism – “only newbies use Windows (or an IDE)”, “get tough. Learn emacs…), etc. “because nobody, except juniors, is using Windows platform…” Too bad; If we want it to propagate, accessibility and tools are a key element. To deprecate 77% of market share, is not growth. " In the area of desktop and laptop computers, Microsoft Windows is generally above 70% in most markets and at 77% globally, Apple's macOS is at around 13%, Google's Chrome OS is at about 6% (in the US) and other Linux distributions are at around 2%" When I try to use it in some classes, students are expecting an easy install and usage for the first time entry. Spoiled? Maybe, but still an important market segment. :-) Dr. Gregory Guthrie Maharishi International University ----------------------------------------------------------------

Anthony Clayden
Chocolatey is an abhorence. Fortunately I've never had to use it; I don't know why GHC would inflict it on anybody.
Note that Chocolatey is just option for installing GHC. Our Chocolatey packaging is generously maintained by Tamar as a convenient way to bring up GHC on Windows. However, we certainly wouldn't rely on it exclusively. Users who don't want to use Chocolatey are encouraged to use the usual binary distributions [1], as in the past. I'd urge everyone to keep in mind that our Windows support exists almost entirely due to the efforts of Tamar; we all owe Tamar a debt of gratitude for all of the work he has done over the past years. We could certainly use more people who are able and willing to contribute resources to help improve GHC's Windows story.
Increasingly, GHC HQ is a cult/elite that doesn't want any new members.
To the contrary, we both want and need new contributors! I would ask anyone who feels that GHC development is exclusionary to please be in touch; I am very interested to know how we can improve. Cheers, - Ben [1] https://downloads.haskell.org/ghc/8.10.1/

On Sun, Apr 26, 2020 at 12:51:47AM -0400, Ben Gamari wrote:
Users who don't want to use Chocolatey are encouraged to use the usual binary distributions [1], as in the past.
If this a working/supported option, maybe it could be advertised on the platform page too [1] (which now sports only chocolatey). [1] https://www.haskell.org/platform/#windows Re: the thorny issue; it will keep being thorny as long as the survey results look like this [2] https://taylor.fausak.me/2019/11/16/haskell-survey-results/#s1q2

Hi *, On Sun, 26 Apr 2020, 05:52 Ben Gamari
Note that Chocolatey is just option for installing GHC. Our Chocolatey packaging is generously maintained by Tamar as a convenient way to bring up GHC on Windows. However, we certainly wouldn't rely on it exclusively.
Users who don't want to use Chocolatey are encouraged to use the usual binary distributions [1], as in the past.
Just wanted to let everyone know that cabal-install also doesn't require Chocolatey to be installed on Windows: you can just download a binary from https://www.haskell.org/cabal/download.html.

Dear Anthony, I was able to install 'stack' on Windows in minutes with
no PowerShell required.
And 'stack ghci' pulled in ghci.
It doesn't *have* to be hard, even for GHC.
On Sun, 26 Apr 2020 at 12:24, Anthony Clayden
Remember GHC's motto is 'avoid success at all costs'. Then naturally it is prohibitively difficult to get to use GHC.
For students/people who you want to encourage to love Haskell, especially on Windows, I'm astonished you're not using Hugs, especially WinHugs (2-click install). Despite being over a dozen years unsupported it is still orders-of-magnitude more friendly than GHC, and has plenty of functionality (in Hugsmode) for undergraduate level. What's more Haskell from the intro texts just works on it; whereas GHC throws all sorts of obscure advanced type errors.
I don't think powershell is a 'standard tool'. I use mostly Windows machines, I'm aware of powershell, I've never used it.
Chocolatey is an abhorence. Fortunately I've never had to use it; I don't know why GHC would inflict it on anybody.
Increasingly, GHC HQ is a cult/elite that doesn't want any new members. The difficulties in trying to use GHC just show how exclusive it has become.
AntC
I appreciate that these things are standard tools for Windows developers, but it's worth noting how much harder it can make things for completely new people (either new developers or new to Windows).
At the start of the year, I prepared install instructions for university students who would be using Haskell as part of a first year CS course. We needed to use GHC 8.6.5 because certain libraries were not available for GHC 8.8.x (their base upper bounds hadn't updated, which ruled out haskell-dev), and tried to use Chocolatey as an experiment.
It was remarkably tough to get students set up on their own machines. I was planning on recommending the Haskell Platform installer for Semester 2 this year, and am disappointed to find that it no longer exists.
If it becomes too hard for students to install Haskell on their own Windows machines, it may become too hard for us to use Haskell as an educational tool, and I'd consider that a tragedy.
_______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.

Hi Anthony,
I'll quickly say that I don't approve of the tone of your email; it is
needlessly inflammatory ("abhorrence", really?), and indeed incorrect:
PowerShell _is_ a standard Windows tool as already addressed in this email
chain. I personally don't like it as a tool, but that doesn't make it any
less standard. With that said, I'll move on:
If you're not a fan of Chocolately (me either!) there's another tool called
Scoop that gives you a package manager for Windows but avoids global
installation. If on the other hand you're simply not a fan of package
managers in Windows, see Richard O'Keefe and Mikhail Glushenkov's replies
regarding installing Stack/Cabal respectively in a more direct fashion.
I do think you highlight an important oversight that I think is especially
important for new users: each additional step required before having a
working Haskell environment will exponentially reduce the number of people
exposed to the language in a meaningful and helpful way - it's a problem of
UX more than technology, but a very important problem nonetheless.
Richard O'Keefe mentioned using Stack, which I find is a very easy route to
running Haskell as it gets the compiler and (helpfully) restricts the
package list to packages that interoperate, thus allowing students new to
the language to avoid any superfluous problems while trying to focus on
learning. https://tech.fpcomplete.com/haskell/get-started/windows should
have you covered. In an ideal world we wouldn't need even that extra Stack
step in between plain Windows and Windows+Haskell, but that ideal world
would be ignoring the meta-problem of package compatibility that can be
thorny, so it seems like a decent trade for now. What are your thoughts on
this?
With regards GHC error messages versus Hugs I'm not familiar with the
latter, but do struggle with the former, especially when compared to other
(albeit simpler) languages like Elm. I recently saw an article on a (fairly
recent?) capability to tune the error messages that GHC emits:
https://kodimensional.dev/type-errors - and I hope that as more people take
this on the ecosystem as a whole will become a bit friendlier and easier
for me to understand :) I wonder whether Hugs was able to emit friendlier
errors because the language was simpler then, or whether it's just that
we're in an inconvenient time in-between having both a more powerful set of
abstractions/inference and having human readable errors!
One thing I find that helps whenever an error message has type variables in
it (`a1` etc.) is to enable `{-# LANGUAGE ScopedTypeVariables #-}` and tell
the compiler what I _think_ the type should be in a few instances, and that
tends to iron out my misunderstandings.
Cheers,
Adam
On Sun, 26 Apr 2020 at 01:23, Anthony Clayden
Remember GHC's motto is 'avoid success at all costs'. Then naturally it is prohibitively difficult to get to use GHC.
For students/people who you want to encourage to love Haskell, especially on Windows, I'm astonished you're not using Hugs, especially WinHugs (2-click install). Despite being over a dozen years unsupported it is still orders-of-magnitude more friendly than GHC, and has plenty of functionality (in Hugsmode) for undergraduate level. What's more Haskell from the intro texts just works on it; whereas GHC throws all sorts of obscure advanced type errors.
I don't think powershell is a 'standard tool'. I use mostly Windows machines, I'm aware of powershell, I've never used it.
Chocolatey is an abhorence. Fortunately I've never had to use it; I don't know why GHC would inflict it on anybody.
Increasingly, GHC HQ is a cult/elite that doesn't want any new members. The difficulties in trying to use GHC just show how exclusive it has become.
AntC
I appreciate that these things are standard tools for Windows developers, but it's worth noting how much harder it can make things for completely new people (either new developers or new to Windows).
At the start of the year, I prepared install instructions for university students who would be using Haskell as part of a first year CS course. We needed to use GHC 8.6.5 because certain libraries were not available for GHC 8.8.x (their base upper bounds hadn't updated, which ruled out haskell-dev), and tried to use Chocolatey as an experiment.
It was remarkably tough to get students set up on their own machines. I was planning on recommending the Haskell Platform installer for Semester 2 this year, and am disappointed to find that it no longer exists.
If it becomes too hard for students to install Haskell on their own Windows machines, it may become too hard for us to use Haskell as an educational tool, and I'd consider that a tragedy.
_______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.

I think that one thing that's come up repeatedly but seems to not be getting enough attention is this: The existence of (any number of) simpler ways to install the software is entirely moot in terms of the new-user experience if the typical new user is unaware of them. In short, when considering attracting new users to the platform, the ONLY method is whatever the download-for-Windows instructions on haskell.org displays. All other methods do not exist. This is where I think some of the sense of elitism can come from: A lot of responses assume that everybody at every level of exposure has full access to all the knowledge embodied in the community. Furthermore, the goals as they were laid out early in the discussion (make it easy to have multiple versions installed at the same time, make it easy to update the components separately) are things that matter only to experienced Haskell developers, not new users, and those experiences Haskell developers are both more likely to know about alternate methods available and more likely to be able to manage to figure this stuff out on their own. Given that, I believe basically the complaint (and I'm here paraphrasing for others, so correct me if I'm wrong) is that the method that appears front and centre on the download-for-Windows instructions on haskell.org should always be the simplest method for entirely new users with minimal-to-zero knowledge of Haskell to use. (Of course, there's no harm in having a link to "advanced" instructions for those that want them.) Think about Python, as an example of a language that has tremendous outreach, is often recommended as a great first language to learn, and garners new adherents daily. If you go to Python.org and mouse over "Downloads", it says "Download for Windows" and there's a single button labelled "Python 3.8.2" clicking that gives you an executable installer that you run, click next a bunch of times, and you're done. They don't even bother asking if you want 32 or 64 bit up-front. It's as easy as installing a game. Anyone who's used Python knows that there are myriad other ways of getting and updating it, myriad other components you can also install, etc., etc. But that's left to advanced instructions or for people who know where to find those resources. The core "get you started as a new user" experience is something that anybody can navigate trivially. On 2020-04-27 5:30 a.m., Adam wrote:
Hi Anthony,
I'll quickly say that I don't approve of the tone of your email; it is needlessly inflammatory ("abhorrence", really?), and indeed incorrect: PowerShell _is_ a standard Windows tool as already addressed in this email chain. I personally don't like it as a tool, but that doesn't make it any less standard. With that said, I'll move on:
If you're not a fan of Chocolately (me either!) there's another tool called Scoop that gives you a package manager for Windows but avoids global installation. If on the other hand you're simply not a fan of package managers in Windows, see Richard O'Keefe and Mikhail Glushenkov's replies regarding installing Stack/Cabal respectively in a more direct fashion.
I do think you highlight an important oversight that I think is especially important for new users: each additional step required before having a working Haskell environment will exponentially reduce the number of people exposed to the language in a meaningful and helpful way - it's a problem of UX more than technology, but a very important problem nonetheless.
Richard O'Keefe mentioned using Stack, which I find is a very easy route to running Haskell as it gets the compiler and (helpfully) restricts the package list to packages that interoperate, thus allowing students new to the language to avoid any superfluous problems while trying to focus on learning. https://tech.fpcomplete.com/haskell/get-started/windows should have you covered. In an ideal world we wouldn't need even that extra Stack step in between plain Windows and Windows+Haskell, but that ideal world would be ignoring the meta-problem of package compatibility that can be thorny, so it seems like a decent trade for now. What are your thoughts on this?
With regards GHC error messages versus Hugs I'm not familiar with the latter, but do struggle with the former, especially when compared to other (albeit simpler) languages like Elm. I recently saw an article on a (fairly recent?) capability to tune the error messages that GHC emits: https://kodimensional.dev/type-errors - and I hope that as more people take this on the ecosystem as a whole will become a bit friendlier and easier for me to understand :) I wonder whether Hugs was able to emit friendlier errors because the language was simpler then, or whether it's just that we're in an inconvenient time in-between having both a more powerful set of abstractions/inference and having human readable errors!
One thing I find that helps whenever an error message has type variables in it (`a1` etc.) is to enable `{-# LANGUAGE ScopedTypeVariables #-}` and tell the compiler what I _think_ the type should be in a few instances, and that tends to iron out my misunderstandings.
Cheers, Adam
On Sun, 26 Apr 2020 at 01:23, Anthony Clayden
mailto:anthony_clayden@clear.net.nz> wrote: Remember GHC's motto is 'avoid success at all costs'. Then naturally it is prohibitively difficult to get to use GHC.
For students/people who you want to encourage to love Haskell, especially on Windows, I'm astonished you're not using Hugs, especially WinHugs (2-click install). Despite being over a dozen years unsupported it is still orders-of-magnitude more friendly than GHC, and has plenty of functionality (in Hugsmode) for undergraduate level. What's more Haskell from the intro texts just works on it; whereas GHC throws all sorts of obscure advanced type errors.
I don't think powershell is a 'standard tool'. I use mostly Windows machines, I'm aware of powershell, I've never used it.
Chocolatey is an abhorence. Fortunately I've never had to use it; I don't know why GHC would inflict it on anybody.
Increasingly, GHC HQ is a cult/elite that doesn't want any new members. The difficulties in trying to use GHC just show how exclusive it has become.
AntC
> I appreciate that these things are standard tools for Windows developers, but it's worth noting how much harder it can make things for completely new people (either new developers or new to Windows).
> At the start of the year, I prepared install instructions for university students who would be using Haskell as part of a first year CS course. We needed to use GHC 8.6.5 because certain libraries were not available for GHC 8.8.x (their base upper bounds hadn't updated, which ruled out haskell-dev), and tried to use Chocolatey as an experiment.
> It was remarkably tough to get students set up on their own machines. I was planning on recommending the Haskell Platform installer for Semester 2 this year, and am disappointed to find that it no longer exists.
> If it becomes too hard for students to install Haskell on their own Windows machines, it may become too hard for us to use Haskell as an educational tool, and I'd consider that a tragedy.
_______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.
_______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.
participants (8)
-
Adam
-
Anthony Clayden
-
Ben Gamari
-
Francesco Ariis
-
Gregory Guthrie
-
Irfon-Kim Ahmad
-
Mikhail Glushenkov
-
Richard O'Keefe