Hi > We've talked before about the need to bootstrap occasionally, which as I > understand was one of the reasons for using make. I agree that something > like Neil's Shake system would be nice if it didn't require a working > Haskell implementation to build the driver.
With Shake, it's possible to run it single threaded and dump a list of all system commands performed. With a little bit of care (you couldn't use your Haskell Shake code to query the global environment in non-obvious ways), this could be used as the initial bootstrap. It's not been done before, but I see no reason it won't work. > I hate working on build systems as much as the next person, but I'm also > conscious of the fact that the YHC basically died under the weight of its > broken build system. I don't think that'll happen with GHC, but it is still > causing me acute pain. Yhc died because of build system choice, but I'm sure that won't happen to GHC - it will just suck away fun and valuable Haskell hacking time. But Shake has other benefits, such as profiling. With detailed profile statistics about your build system you can usually make sensible modifications and get some build time performance improvement. Similarly, I'm sure Shake would increase the parallelism of the build. Thanks, Neil _______________________________________________ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc