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 <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.