bitemyapp/learnhaskell

Please recommend Haskell Platform for Windows users

hugoestr opened this issue ยท 18 comments

Haskell stack seems cool. It is not ready in Windows at this point, though. Too many exceptions. It is too easy to make a mistake and to have to troubleshoot errors that involve digging in app_data/roaming and windows versions of git. For learning, the Haskell Platform is probably an easier install for Windows users at this point. You can always recommend to look into stack once they are ready to build real applications.

Is this is too much to ask, then at least recommend that Windows users install ubuntu on a VM or run it on AWS.

Bash for Windows is supposed to come out this summer. Once it comes out it will be a matter of telling Windows users to use that instead of installing windows compiled binaries.

The whole "don't use haskell platform" is rather opinionated anyway and should be removed. Just add a note about what stack is.

Could you clarify on the problems? Stack had a couple devs working full-time on Windows when it was written to avoid problems mounting up.

I don't know any unhappy Stack <> Windows users and they usually recommend other Windows users to use the same.

Also if you have filed any relevant bugs with http://github.com/commercialhaskell/stack -- please link them here.

dagit commented

Bash for Windows is supposed to come out this summer. Once it comes out it will be a matter of telling Windows users to use that instead of installing windows compiled binaries.

Unfortunately Bash for Windows doesn't yet support all the system calls GHC needs. My understanding is that MS wants to add support for everything but they wanted to get it out to people sooner instead of later.

I don't know any unhappy Stack <> Windows users

Enthused by the Haskell Book, and not having a Mac or Linux, I installed Stack on my Windows 8.1 machine. Right away there was inconsistency between the docs and the Stack installer (and between different parts of the Stack installer) about what was the "stack root" folder... should it be C:\sr or C:\stack_root or somewhere under my appData\Roaming folder?

Having sorted that out (maybe; who knows?) I invoked stack ghci and it attempted to install a whole scad of stuff, and then ground to a halt with this error:-
commercialhaskell/stack#1798

Other people currently have this error, but yet the issue about it is currently Closed.

I sighed, reflected on the fact that I knew this would happen (it always does when the installing docs warn of "issues" and "workarounds" wrt Windows), uninstalled and walked away.

Stack ain't ready on Windows... and I wonder if the Haskell Platform is too.... it would come as absolutely no surprise to me if I had endless silly and difficult issues on the Haskell Platform as well. I don't know if I can be bothered to try.

Purescript, on the other hand, installs very nicely and easily via npm. Maybe I'll use the Haskell Book as a conduit to learning Purescript, and leave Haskell until I can get a Linux machine or a Mac.

Other people currently have this error, but yet the issue about it is currently Closed.

Right but nobody's getting them a repro to work with. You yourself bailed before anybody could investigate it with you.

That error isn't common for Haskell / gcc specifically, but usually when it happens in Windows you have registry references to drive letters that have since disappeared.

I'm closing this as it appears to be turning into a dumping ground.

Right but nobody's getting them a repro to work with. You yourself bailed before anybody could investigate it with you

If the Stack people are interested in solving this problem, and ask me nicely, I'd be happy to try again, and answer any questions that they have.

I'm closing this as it appears to be turning into a dumping ground

It seems to me to be a small but significant accumulation of anecdotal evidence that maybe the creator of this issue has a point.

--

See it from my point of view... I work/play exclusively on Windows. On Windows, installers "just work". If some technology can't get its installer to work (a rare case), long experience has taught me that many, many other problems will follow and plague me forever, even if I do manage to get it to install somehow.

So....

Day 0 - I am enthused by Mr. Allen and Ms. Moronuki to try Haskell.

Day 1 - I attempt to install Haskell via Stack, as recommended. Warning bells sound when I look at Stack's website re. Windows installation. Alarm bells sound when I detect conflicting information on the location of 'stack root'. Post-installation setup fails with a malware-style modal popup that doesn't cancel even though it has a Cancel button.

Day 2 - I report the problem in two obvious places on GH. No reply from Stack. A dismissive reply from you.

What conclusions should I draw from this? Frankly my conclusion right now is that I have stepped into a world where Windows isn't really a nice platform for learning Haskell. I could fight issues, build repros, don my thick skin to cope with dismissive responses (but at least it was a response), when all I really want to do (and have time for) is learn Haskell...!

Right now, I think that what the future holds for me is PureScript,, not Haskell.

I forgot about this issue :)

I will try Haskell Stack again and see if it is better now than it was back in April.

As for my initial issue, it was meant in a non-judgmental helpful manner. I came to this repo after listening to a podcast where you were talking about your book on Haskell. You said that you welcome any feedback, so that is why I created this issue.

If the goal is to get people to learn and adopt Haskell, avoiding installation problems is important. People will move on from a technology if it becomes too hard to even get it running. Especially when you have a limited amount of time to dedicate to new technologies.

If stack is the superior way to run Haskell, why not suggest a VM or Docker in windows? This will save people time. Once they have bought into the language, then those bug reports to stack on windows will happen because they are committed to the language and to the platform.

Thanks again for putting this site together. Thanks again for writing your book. Hopefully it is the one that can bring more people into such a beautiful language. :)

dagit commented

@andrew-webb In my experience, the Haskell Platform works pretty well on Windows these days. That's how I install Haskell on Windows. With that said, I hope you enjoy PureScript. It's a nice language with passionate developers.

When/If you decide to try Haskell again, I encourage you to try it on Linux, even if that means you need to put up with a virtual machine. Maybe just long enough to follow some basics learning materials and then switch to a Windows-only setup once you're more familiar with it.

@dagit Did y'all release a fixed version of Stack in the Platform installer yet or is it still broken?

I think one of the concerns about y'all packaging Stack with Platform is that something wouldn't work and then you'd drag your feet on fixing it.

dagit commented

@bitemyapp What fix did you have in mind? Maybe link an issue?

hvr commented

@dagit

the Haskell Platform works pretty well on Windows these days. That's how I install Haskell on Windows.

Thanks, I will try that.

I encourage you to try it on Linux, even if that means you need to put up with a virtual machine

Happy to do it, esp. with the holiday period coming up.

My end goal is PureScript, since there is no chance of using Haskell at work, whereas what I use to generate JavaScript is more or less up to me. (I know there is ghcjs, but PureScript seems a better fit to me.) My plan of action is to work through The Haskell Book with genuine Haskell - i.e. learn from the 'Ur text' as it were - and then switch to the derivative that is PureScript. If I started with PureScript and never looked seriously at Haskell, I would always be wondering about it...

You seem to be having a personal issue with the HP project and/or its maintainers. It's quite frustrating to see you spreading FUD about the HP, especially when the facts tell the exact opposite story ;-(

I'd go so far to say he's deliberately spreading misinformation for political reasons. There is no community consensus about which option is "better". Some prefer HP, others stack. This can also be observed by repeatedly upcoming discussions about that topic in #haskell. Linking to an opinionated post doesn't reflect the "community opinion", which can basically be summarized as "just try both". There are also largely varying opinions on how "simple" stack really is. And that's not surprising, since that's always the case with software and subjective usability.

Also, I'm pretty disappointed in this project. It should give correct and non-biased information without partaking in the stack vs HP war, since it's a commonly linked resource in #haskell. Just inform users of their valid options.

Some prefer HP, others stack

This frame the problem with the whole discourse: this is not about random people preferences. It's about a reasonable choice for whom this book target.

Since there's a lot of misinformation coming from brigaders:

As to the original bug report here: I agree with @bitemyapp, an issue should be opened if there are actually Windows bugs affecting people. Regarding the only actual bug report referenced here (commercialhaskell/stack#1798): yes, that looks like a real bug that should be fixed, and reading that issue I only see positive comments from everyone involved towards trying to either fix or mitigate the issue. There is no indication that the issue was ignored, but simply that the users reporting the issue were no longer troubled by it, and therefore trying to find a solution would not be possible (due to lack of any kind of reproducing test case).

This frame the problem with the whole discourse: this is not about random people preferences. It's about a reasonable choice for whom this book target.

If you are referring to the non-free book... that has its own web-site and this site is largely linked because of the free reccomendations. And I don't see those depending on stack in any way or stack being the only reasonable choice for them.