Dear Andres, Dear Stefan,
You are right, of course. Please, let me apologize for the "bashing", which wasn't meant to be. Obviously, Cabal does work for a lot of people and projects. I didn't want to seem ungrateful for the work that people put into writing it.
A while ago I was able to give a talk on my CodeDown project. As I mentioned then, the basic idea could be extended towards a universal "document generator generator", and following the talk I worked out this thesis. Finally, I was proud to have designed a versatile and yet simple system, which (and I thought this was unique) treated code and documentation not only as equal, but was also able to convert back and forth. I got the system running and also wrote something like a tutorial and manual (see [1] and [2] below). And then I tried to cabalize the whole enterprise in order to put it on Hackage and make the world a better place ... but that turned out to be impossible for me and after days or even weeks of serious study, I was so really frustrated that I gave it up....
I am not able here to reconstruct all the problems I encountered. I do have a couple of objections, but I also trust the Cabal designers, which are all much more experienced programmers than I am. Like it or not, Cabal is a fact, and I intended to embrace it. And actually, the real trouble with Cabal for second-class programmers like me is not its quality, but its poor documentation. So instead of complaining, I tried an "understanding by explaining" and worked on my own introduction into "The standard Haskell infrastructure" [3], as a tutorial to everything which matters in Haskell programming and goes beyond writing modules. But as I said, I couldn't cope with the ugly Cabal matter and I gave that up, too.
By that time, I did consider changing my native language to one where EVERYTHING works, even if that meant compromises. But recently, I started a new exciting project in Haskell again, so I will stick to the misery I am used to ;-) I was hoping that by the time that one is ready, Cabal might have become accessible for hobby programmers, too.
Andres, you were once so kind to take some time and explain darcs to me in the pub. At the moment I am studying Git and I now do version control in my project and publications. So, hopefully I can fill all the knowledge gaps to become a true Haskell soldier in the future.
Regards, Thomas