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

Reply via email to