Even though I am using GHC almost daily, I agree it is a pile of junk. I
still wonder how you are going to manage to keep Haskell but not having
GHC anymore.

As far as I know there are only two Haskell compilers actively developed
except for GHC: UHC and JHC. The other implementations are not
maintained anymore. These two will probably not work well with xmonad
and xmobar (I am a user of both also). Hugs (already in ports) is not a
good alternative as it is not even maintained upstream anymore.

Sometimes piles of junk are kept in a system because the alternatives
have not caught up. But on the other hand, it is your spare time and you
do with it as you want :)



On 05/08/13 00:50, Matthias Kilian wrote:
Spoiler: I'm not talking about Haskell but about ghc here.

I'd like to remove lang/ghc from the ports tree, because it's fucked
up beyond repair:

- configure runs ghc-pwd (instead of just pwd) to determine the current
   working directory. ghc-pwd is a program written in Haskell. In the
   past, when ghc-pwd appeared, configure first compiled that ghc-pwd
   program, which wouldn't work unless you already have a working
   Haskell compiler installed.

- after replacing all occurrences of ghc-pwd by /bin/pwd, the build
   fails because it runs ghc-stage2 from the bootstrapper. (Note
   that binaries for ghc-pwd as well as ghc-stage2 and much more are
   included in the ghc sources and/or the bootstrapper for this
   purpose).

- bootstrapping without a pre-installed ghc still doesn't work, and
   upstream doesn't careA

- the ghc compiler is not deterministic, because function names (in
   hs-libraries) depend on what's already built. So if you start a
   build of ghc, interrupt it and restart it, you may end up with binary
   incompatible libraries to an uninterrupted build. This is also the
   reason for all those package bumps we do on hs-* ports.

- with every new major ghc release, interfaces break. For example, last
   summer I  had to fix various "Num doesn't imply EQ" issues as
   well as a lot of general typesystem issues. Imagine annual changes
   to the C programming language that require not only recompiliton
   but rewrites!

So let's get rid of this crap.

Ciao,
        Kili




Reply via email to