Gut Build System
marlowsd at gmail.com
Fri Mar 5 07:17:55 EST 2010
On 04/03/2010 21:06, John D. Earle wrote:
> 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
> 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.
More information about the Cvs-ghc