
On Mon, Dec 12, 2005 at 03:14:09PM +0000, Duncan Coutts wrote:
On Mon, 2005-12-12 at 14:46 +0000, Simon Peyton-Jones wrote:
If the reason you want 6.6 is to get a new Cabal, why not download a new Cabal package? Or is there another reason you want 6.6?
That is exactly the problem. All non-trivial packages need a later version of Cabal since there are many many minor bug fixes and little feature additions in later versions of Cabal.
This is a large part of the reason I'd like to see cabal as a completly separate package from any compiler with a programatic interface rather than a library one. things will get very complicated when there are multiple major compilers and you have to tell users things like 'run runhaskell Setup.lhs, unless your runhaskell points to jhc, in which case do runghc Setup.lhs, oh, create a link from runhaskell to your proper compiler'. We can do so without losing any flexability at all. just add a new line to the cabal file build-style: (makelike|simple|custom) where makelike and simple just call the current cabal library routines and custom lets you specify a command that should be run and arguments passsed to it. (which can be something like 'runhaskell Setup.lhs') seperating cabal into its own program would also be a good place to provide a unified compiler independent 'runhaskell' script that can have logic for finding and running an appropirate compiler so people don't have to maintain an appropriate link to runhugs,runghc, or runjhc... while having a source code interface makes a lot of sense for single-source implementation-defined languages like perl, I think it is very inappropriate for multi-source, compiled programs. Especially when it gains you absolutly nothing other than headaches. The chance that someone will have such an absurdly odd build setup that one of the standard cabal models won't apply AND they can simulate the cabal interface exactly are virtually nil and if such a thing does exist, a build-style: custom will take care of it. You might not even have a haskell compiler on the system you want to run cabal on. (cross-compiling, bootstrapping) John -- John Meacham - ⑆repetae.net⑆john⑈