Hi, so with all the furor over dependency hell I've been thinking about how to address the issue. I've come up with an approach that I'm willing to try to implement, if it's sensible.
First is using explicitly versioned libraries and executables. For example, using 'alex-3.0.2' instead of just 'alex'. Next is implementing the suggestion for soft and hard upper bounds. Hard upper bounds would be denoted by a duplicated first character of the relevant operator, ie, <<, <<=, ===. Finally, if an install fails because of dependency versioning issues, automated support for fixing these issues would kick in, probably after prompting the user if they want to attempt it, or after issuing a command such as 'cabal repair'. There would be integration with bug reporting and bug report search so that if there are problems that are more than the user wants to deal with the bug report could be submitted easily. This functionality would be available with the command 'cabal submit-issue'. If the repair was successful patches would be submitted to the maintainer after checking that similar patches haven't been submitted already. Maybe it could be useful for cabal to provide convenient means of communicating with the package maintainer. For example, instead of having to subscribe to the mailing list for gtk 'cabal submit-issue' would present the results of search to see if the issue was already brought up. If the user doesn't think anything relevant came up they could then be presented with a form for filing a bug report. After that the user would be kept in the loop without having to subscribe to the mailing list. So does this sound like a useful solution? _______________________________________________ cabal-devel mailing list cabal-devel@haskell.org http://www.haskell.org/mailman/listinfo/cabal-devel