(I apologize for the trite subject line, but I feel it conveys the point.) For the past two weeks or so I have been unable to build the latest GHC HEAD from the main darcs development branch (I believe the last one I managed to build here on OS X 10.5 was 20080720.) From the looks of it this is due to the flux of changes hitting the build system along with many many other things going on I'm sure (and your work will never go unappreciated as far as I'm concerned.)
However, over this time, these rapid build changes among other things have succeeded in not only causing some headaches but in many cases simply locking out many developers or potential developers - myself included. I find compiler technology very interesting; unsurprisingly I also find Haskell very interesting. GHC is widely enough used and there is enough documentation to the point I figure a low-level hacker like myself could find some place to help contribute (janitorial tasks are fine by my standards!) I feel it is fair: the haskell experience has changed my brain and to repay the community for the terrific support and technology they have given me I might as well invest some of my time in giving back to them, even if it only means a cosmetic change or something totally trivial. I think it would be a good way to spend my time, and I get the benefit of seeing my changes do good. Everyone wins, that's the point, right? So for the past day or so I've been trolling trac, looking at things that might be worth investigating and that I think I could help with. It's an exciting time too, I am eagerly awaiting GHC 6.10. New exceptions library, new GC, type families, a new code generator, sprinkle a little DPH in there and it's an awesome-possum-party. No reason not to love it. However, I must express my concern that these rapid changes currently do not seem to be helping me or more noticable hackers in making headway. It is proactively hurting and frusterating many people when they cannot build the new HEAD. As ChilliX told me: the HEAD is not supposed to be bestable, but it is supposed to be buildable. Essentially everything is coming down to the build system it looks like. The basic idea is to go from autoconf -> Cabal as I see it. What is this new system buying us? Because currently, it seems to have cost us: 1. Parallel builds (i.e. make -j, brought up by ChilliX) 2. A working build system (and by association a buildable HEAD) Why the switch to a cabal infrastructure? To stress test it? To make building simpler (i.e. win32)? To prove a point? What's the end result and what do we hope to gain? The old build system wasn't broke; why fix it? I'm not sure, and that's the problem. This has been brought to your attention I am sure, but if it impedes the development of GHC in such a way that people like myself or those who already actively contribute can't, it should be flagged as a *major* consideration and needs to be discussed with the community or at least the active GHC developers in full. (From the frusteration Mr. Chakravarty has expressed, it seems as if it magic'd itself in there: non-existant one minute, full blown the next.) With these changes other things also seem to be falling down as well; with the most recent checkout of GHC, it does not even fail with the err I had a few days ago about the 'inferred architecture size ... i386', it fails with this: > Preprocessing executables for ghc-pkg-6.9... > Building ghc-pkg-6.9... > [1 of 1] Compiling Main ( HaskTags.hs, > dist-install/build/hasktags/hasktags-tmp/Main.o ) > [1 of 1] Compiling Main ( runghc.hs, > dist-install/build/runghc/runghc-tmp/Main.o ) > [1 of 1] Compiling Main ( installPackage.hs, > dist-install/build/installPackage/installPackage-tmp/Main.o ) > [1 of 2] Compiling Version ( Version.hs, > dist-install/build/ghc-pkg/ghc-pkg-tmp/Version.o ) > [2 of 2] Compiling Main ( Main.hs, > dist-install/build/ghc-pkg/ghc-pkg-tmp/Main.o ) > Main.hs:1143:14: Not in scope: `Exception.onException' Which ChilliX pointed out should have been caught by the validate script; so how did this patch get through? It is completely unpredictable at this point in time where things are going to break, how and for what reason. Pretty flaky, to be honest. The question in full is: what in the hell is really going on right now? Is it simply project-management practices or true technical issues that must be dealt with using hard, cold debugging and a good injection of code? I'm wagering it's somewhere inbetween the two from the view I'm getting from my binoculars. What *is* going on, and more importantly, -how can we help improve the situation-? Right now, I've no idea where to start and without help from you guys, I doubt anybody else can, considering you guys are -it-. So please, speak. What is going on? How can the would-be's like myself get involved and help? What is the state of the breakage, and more importantly it's reason? With these current changes, I can't contribute to GHC, can't verify bugs exist or stress test the compiler. I can't strive to make the software I really like better. I can only hope things will get better on the horizon but it is simply frusterating to be put out in the cold with little to no information as to what's happening. I apologize if this mail seems overly critical of the work you guys are currently doing and I realize with the whole VCS-switch many people's minds could be elsewhere. There is a lot of stuff going into this new release, so lots of stuff will have to be tested, integrated and polished. It is a big time in GHC land and even I can tell that much. But this is something that needs to be brought up I think and I can speak personally - and for others, likely - when I say that an unfriendly HEAD is unfriendly, especially to would-be contributors like myself. Austin _______________________________________________ Cvs-ghc mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-ghc
