Saturday, April 29, 2006

Windows and Haskell

I use Haskell on Windows, and I always tend to feel like a second class citizen... Lots of things just don't work as well on Windows as compared to Linux with Haskell tools - for instance, there is no hmake for Windows, nhc never worked on Windows, ghc ships with something close to a linux distribution with Windows, I once read the instructions to build ghc on windows and I cried, to make the standard libraries for Haskell its pretty much Linux, or something terrible like MSYS or Cygwin - the list goes on...

The reason I'm complaining is that I've been working on getting hugs and FFI working on Windows, the actual Windows code is all relatively easy, but trying to get the base package to compile on Windows seems not possible. Since the base package also compiles FFI .dll's, these are also built in MSYS with GCC. Hopefully in the future Cabal will come to the rescue, but at the moment I'm still not convinced - first off Cabal seems to match the way Linux users think, and not Windows users in any way. Although at the same time, it does seem quite impressive, and the way out for the future.

Hopefully, one day everyone will see the light and stop using Linux, move to Windows, and we can all have nice user interfaces and nice programming languages in one package.

Just a quick note, I really am very greatful for all the projects that have Windows ports,
I just hit my head against a brick wall every time I see a makefile :)


Anonymous said...

This is May 1st, not April... Forgot to turn the page of calendar, huh. :)

Anyway, now is probably a good time to switch to a decent OS.

Anonymous said...

Well, windows pretty much lacks good support for all open source development tools. The idea on windows is that you use languages controlled by companies together with development tools that are expensive and controlled by the same company.

Perhaps you should bug M$ to support you. You are most likely paying them enough. I think Haskell support for .NET for example would be a _great_ thing for Haskell on Windows. But somebody has to do it, and it is most likely not going to be an open source effort...

You can off course just switch operating systems. Its not that either one is all good or bad (although enough advocates will claim either way) .. but its a good learning experience to see that things can be solved differently.

Linux may not be perfect for everyone, but for developpers being able to change anything you don't like by diving in their source and compiling it again is a _nice_ feature. On the other hand, those things that are taking care of by Microsoft themselves are very well integrated by default, where this takes some time on Linux.

Either way any technilogical person will know more and have more inspiration when they've tried _both_. Don't be scared to learn new things! If you've never touched linux I would recommend something like Ubuntu or Mephis. Debian-related linux-flavours are generally very friendly, one line installs all the tools you want for Haskell:

apt-get install ghc nhc hugs hmake

Best IDE support I found as of yet is Eclipse support with as-you-type type-checking :-) If you have peace with executing Java-code in the first place.

Neil Mitchell said...

Microsoft already employs Simon PJ and Simon Marlow, so Microsoft has paid for the continuing development of GHC for a while now.

I realise Linux has good developer support, but thats more down to social factors than technological ones. Its still possible to install the tools on Windows, its just not enough people do...

Anonymous said...

It's interesting to see that there cant be a perfect OS without monopoly. But it's clear that Microsoft will probably be the one to go close to perfection due to experience and resource. It still has 70% of the world market and due to extensive developing resources...advances and flexibility are most like to be from MS.