Why don’t Haskell Developers Use Windows?

Reading a recent thread on haskell-cafe, it was mentioned that there aren’t a lot of Windows Haskell programmers. That’s true, but I think it’s misleading to say it that way. This is one of those situations where correlation does mean causation. Here’s my story.

I write Haskell using Windows… sort of. Okay, not really. What I do is use a Windows laptop to open a PuTTY window, in which I write Haskell code on a UNIX system that’s sitting on the other side of the room. This is certainly not my ideal working environment. I’d love to really write Haskell on Windows, but I don’t for several reasons.

I don’t write Haskell with Windows because I haven’t found a good environment for it. I like my IDE programs, and especially Eclipse – which I already use for Java, C, and C++ programming; but that doesn’t look feasible. The closest I could seem to come was eclipsefp, but it’s nearly unusable. It gets syntax highlighting completely wrong. (It’s easy to get hard cases wrong in Haskell; writing a really correct syntax highlighter is hard; but this one even gets obvious things wrong like forgetting to highlight deriving , and requiring the occasional frivolous edit to poke it into changing syntax highlighting when something changes.) I tried to fix some things, but the Haskell code is in a darcs repository, and the only darcs plugin for Eclipse never seemed to work. Writing Eclipse plugins in any environment except Eclipse is hideously painful; so enough of that. Even if I did get it to work, the Eclipse support for Haskell doesn’t seem to advanced; may as well use a command line.

I don’t write Haskell with Windows because of Lambdabot. Lambdabot and GOA (GHCi On Acid) are important tools for me. They are far more important than the platform I develop on. But it looks rather non-trivial to build them for Windows. I tried to do so for several hours, before I gave up.

I don’t write Haskell with Windows because I build development versions of GHC a lot. (I do this to at least help with testing, and partly because I have aspirations to contribute to GHC myself in the future.) While most of the breaking of GHC seems to happen on MacOS, I notice a lot of patches floating around to fix broken builds of GHC for Windows as well. One rarely sees a developer commit something that breaks the build for Linux, because that’s what the developers use.

There are probably more people out there in the same situation. There seems to be a catch-22 here. It’s not that Haskell doesn’t attract Windows. Haskell attracts people, who subsequently realize that developing on Windows is harder than developing on Linux. Since Haskell does not attract the sort of people who are slaves to their platform, that means there are fewer people developing Haskell with Windows.