Hacker News new | ask | show | jobs
by rwallace 3377 days ago
The reason I'm using F# at the moment is indeed the platform, but not because of .Net; it's because when I tried Haskell on Windows, it didn't work, from which I conclude Haskell is primarily about Unix; I want an FP language where Windows is a first-class, no-question supported platform, and F# fits that bill.
1 comments

Windows is first-class-no-questions-asked-supported by Haskell.

The same cannot be said about .NET's support for platforms other than Windows.

> Windows is first-class-no-questions-asked-supported by Haskell.

I would have hoped so, but when I tried it recently, the package managers didn't work.

http://stackoverflow.com/questions/42562702/haskell-on-windo...

http://stackoverflow.com/questions/42564296/haskell-on-windo...

> The same cannot be said about .NET's support for platforms other than Windows.

Now that is an interesting question. A few years ago when I tried compiling and running a C# program on Linux/Mono it worked fine - and I'm no Linux expert to be able to debug hairy problems, so it had to work pretty much out of the box - and I'm told things have improved since then, but for all I know, there could be problems I'm not aware of. Have you run into any?

Taking each of those in turn:

The first question is an issue because of Stack assuming something about how git works that might not be true on your system. That's probably because you have an old version of git installed. I had a similarish issue on Gentoo, where it assumes something about gcc that isn't true in the version of gcc I have installed. That's a bug in stack, it's not really Windows-specific. Try uninstalling git, installing the latest version of git, or something like that.

Your second question has nothing to do with Windows. The issue is that when one installs packages globally (as you are doing with cabal in your question), you get into issues if you have two incompatible packages. For example, you want stylish-haskell<0.6 for hfmt, and stylish-haskell requires directory<1.3, but you have 1.3 installed (because of another package).

That's called 'cabal hell'. It's basically just dependency hell for Haskell. It was common in Python before virtualenv became popular, and common in Haskell before stack became popular. In fact, a big reason for using stack is to make it easier for people new to Haskell, and people on Windows, and in particular people new to Haskell on Windows, to use Haskell. The way it gets rid of this issue is that you install dependencies locally, separately, for each project.

At the end of the day, this really sucks for you. I hope you can get it working, Haskell is a lot of fun. You should post the first issue to https://github.com/commercialhaskell/stack/issues/new.

Ah! Thanks, those are actually clearer answers than the ones on stackoverflow. It's true that I'm using a several years old version of git. I might try reinstalling it.