On Sun, 1 Apr 2007 02:28:33 +0100 "Claus Reinke" <claus.reinke@talk21.com> wrote:
But then I looked into the repository, with its layers on layers of build systems, source formats, deprecation warnings, directory structure fragments, todo logs, broken builds resulting either from OS-tools advancing and playing havoc with the built-in assumptions of fragile build configurations or from multiple, partially completed, mutually incompatible heart-liver-and-lung transplants supporting the newest language extensions (which of course were all needed to build the compiler branch supporting said features, and whose documentation tended to be spread over user manual, API comments, mailing list threads, research papers, plus half a dozen different Wikis and ticket trackers), supported by often outdated documentation in a never-ending variety of formats, and I knew I had stumbled onto a goldmine.
I hate to say this, but the build process for GHC is one place where the Ocaml guys have us soundly beaten. A little over a month ago, I was in the position of having to build a parallel simulation to run on a cluster, and I had a week to do it. The problem was, I didn't know what cluster I'd be on when I started it. Itanium? Opteron? HP-UX? Linux? IRIX? I wanted to use a functional language, just for the sake of my own productivity. I chose Objective Caml because its compiler system feels easier to build. It built on every cluster I tried. I had enough trouble trying to get GHC to build on Mac OS X back in the 6.4 days. I'm not in a position to say this for certain, but GHC seems more complex than the Ocaml toolset. I would love it if GHC ran magically out of the box on any platform. If I could download a simple src tarball and compile it brazenly on whatever system I end up on. If I could take GHC with me anywhere. One thing that feels like a step in the right direction is the native codegen. Not having to trust a generalized, but still evil, perl script to do its job correctly in concert with whatever local c compiler is a good thing. I had nagging fears of my project dying with 6 hours to the deadline because HP's software engineers made a small change to gcc that generates minutely different function epilogues in 1% of cases and made the mangler, well, mangle. GHC wants to be free! Matthew Cox