[darcs-devel] Curl build issues

John Meacham john at repetae.net
Fri Apr 18 11:55:32 UTC 2008


On Wed, Apr 16, 2008 at 08:59:19AM -0700, Jason Dagit wrote:
> As you're probably already aware, many Haskellers feel that the darcs build
> system is messy and would be better off using the build tools invented in
> the Haskell community.  This sentiment is perhaps a bit of "Not Invented
> Here" syndrome[1].

please no, it makes me cringe when people in the haskell community use
this as a reason for using anything. "because it is written in haskell".
I think it is seen more often now due to the influx of perl/python/ruby
etc programmers into the community, where, really, the languages are all
close enough to each other that that is really the only objective
distinction one can make between programs written in them.

Haskell is so awesome in so many ways, and has so many _real_ features
that are good about it, and that show up in programs written in it. We
don't need to play tricks like resorting to saying "because it is
written in haskell" as if it were a real reason. 

I have no doubt that many of the best programs out there will end up
being written in haskell, but that doesn't mean that everything written
in haskell is good. I'd much rather have people find out about haskell
by using some awesome piece of software then looking at how it was
implemented than being forced to use substandard haskell programs/tools
just beacuse they are written in haskell and leaving a bad taste in
their mouths. That form of advocacy hurts the language in the long run.


>  I used to feel this way myself, but from conversations
> with you and through more experience with darcs I've come to see the value
> of the current build system.  With that said, I think you should accept the
> cabalization.  

> I think it's a step in the right direction for encouraging
> more active development by seasoned Haskell developers; the sort of
> programmers that frequent #haskell and haskell-cafe at .  I also think it will
> help cabal grow into a mature build system with some good "real-world"
> applications using it.  But, I'm not saying we need to, or should, get rid
> of the make system for now.  Instead, we add cabal and only support it for
> people like Gwern that are willing to keep it up to date with no promises
> from you that it will work in any given release.


> On the other hand, I've recently been playing with writing a build system
> > in Haskell, which might be just the ticket for darcs.
> 
> 
> I would like to discourage you from creating yet another build system.  I
> have no doubt that you could do a stellar job on dabs (David's advanced
> build system ;), but I think your grey matter and spare programming time is
> better spent on tasks that others are not as well suited for.  For example,
> we would all appreciate you helping the Haskell community at large better
> understand darcs so that you could one day fully transition out of
> maintainership without affecting the long term success of darcs.  I also
> firmly believe that any efforts to make a build system would be better spent
> improving an existing build system instead of starting over.  And we all
> need to be caution and avoid NIH tendencies.

Cabal is an okay build tool, but I do not think cabal can be salvaged as
a build system. nor should it be. In the end, build systems are large
complicated beasts that take a long time to master. No matter how
awesome cabal is, it is still just for haskell programs and time is
better spent learning a general one, like autotools. or 'dabs'. 

Now it is true that many programs can be built with just cabal, but many
programs can be built with just 'make' too. that doesn't mean they all
should be shoehorned in to do so.

Build systems are not trivial, and the correct design for one is not at
all obvious. saying david should work on improving the current build
system feels equivalent to saying he should have just spent his time
trying to improve cvs rather than attempt darcs.

sorry for the rant, but I feel haskell needs a standard build system as
much as it needs a standard shoe size.


        John

-- 
John Meacham - ⑆repetae.net⑆john⑈


More information about the darcs-devel mailing list