3 ms·
I should preface this by noting that I haven't looked into the situation recently, and the problem may have been fixed, but it really soured me on Haskell. (At
by silentbicycle 17y ago
I should preface this by noting that I haven't looked into the situation recently, and the problem may have been fixed, but it really soured me on Haskell. (At a glance, it looks the same, and discussions with a presenter at a local barcamp implied no real change.) I stopped worrying about it because I'm quite content with Lua for small personal projects, and OCaml and Erlang seem to be more my style than Haskell for larger ones.
So, that said: I primarily use OpenBSD and FreeBSD, and bootstrapping recent versions of GHC from source has been broken for a long time. OpenBSD's current GHC is 6.6.1, and FreeBSD's is 6.8.x, but (last time I checked) was marked as broken. While porting language runtimes to OpenBSD can be tricky due to e.g. its randomized malloc, an open-source language that doesn't even build from source on FreeBSD probably doesn't place much of a priority on portability. GHC 6.6.1's ghci segfaults on my openbsd/amd64 system, too.
Just after I got settled with XMonad, GHC updated without a clear plan for source bootstrapping. I get the impression that a lot of people just use Debian/Arch/etc., like dons did[1]. (I'm a (somewhat minor) OpenBSD porter, so I probably care about this more than many people.)
[1]: http://www.cse.unsw.edu.au/~dons/haskell_openbsd.html http://www.cse.unsw.edu.au/~dons/haskell_openbsd.html - He switched to using Arch in ~2005.
Here's a Hackage bug ticket, closed after a year and a half with the note that they're probably just not going to support building that way anymore:(http://hackage.haskell.org/trac/ghc/ticket/1346 http://hackage.haskell.org/trac/ghc/ticket/1346). It's not hard to find griping about the situation on the openbsd-ports list.
While GHC is just one compiler (and I've put some time into helping with updating Common Lisp and Scheme ports in the past, due to similar issues), Haskell programmers seem to assume a recent version of GHC and its extensions, making "whatever GHC does" a de-facto standard. That rules it out for me entirely, and I wonder if anybody else feels the same.
- dons 17y agoI switched to Arch in 2007 because I needed multicore SMP runtime support. OpenBSD was only running userland apps on 1 core at the time.