On 04/03/2010 21:06, John D. Earle wrote:
Hello, I wish to discuss my feature request http://hackage.haskell.org/trac/ghc/ticket/3912 entitled "Gut Build System". I suppose the title is to the point. I believe that considerable advantage can be achieved by positioning the GHC Haskell language so that it may be used as a viable alternative to shell scripts and make files. Using Haskell as a scripting language it would be possible to create a type-safe build system. Common problems like not being able to use a space in a path name will be a thing of the past among other things. Even a weakly typed language such as JavaScript would manage that. I hope to use quasi-quotation to compensate for the syntactic overhead that general purpose computer programming languages have and Template Haskell to make it efficient. I anticipate that the combination will have far reaching implications and may alter how computer programs are written in general. Dependencies among files I anticipate could be treated as a type. There is a great deal of fat that can be trimmed away. How often do we put up with the limitations of whatever tools we are working with? We should at least treat ourselves to the best tools available to us.
A build infrastructure in Haskell is certainly a good idea. Neil Mitchell has made one, but it was done for his employers and as far as I'm aware it hasn't been released. I believe Duncan Coutts has lots of ideas in this direction too, you might want to talk to them. If there were a good build infrastructure written in Haskell, then Cabal could use it and everyone could benefit, not just GHC.
I suggest that the way to start would be to design and build the infrastructure first, and then think about replacing GHC's build system. I have to admit, having rewritten GHC's build system less than a year ago, I'm not particularly excited about the prospect of doing it again! But if someone else were to do the work, and the result was maintainable and has at least the same functionality and performance, then it's a possibility.
Cheers, Simon _______________________________________________ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc