Re: [Haskell-cafe] hledger: mtl vs transformers

On Feb 11, 2011, at 11:20 AM, Peter Simons wrote:
If hledger offers optional features by means of Cabal flags, then users of the library need the ability to depend on hledger with a specific set of features (flags) enabled or disabled, but unfortunately Cabal can't do that.
The new approach remedies that problem by placing optional features in separate packages. That creates a different problem, however, because users may now install hledger and hledger-web separately, which -- as we know -- may create all kinds of version conflicts that are non-trivial to resolve.
This is the problem you're now trying to solve by over-specifying the dependencies of hledger. Arguably, though, Cabal should solve that problem for the user, i.e. by offering to re-compile hledger to resolve the conflict etc., but unfortunately Cabal can't do that either.
Hi Peter.. thanks for the follow-up. In case it wasn't clear, I do realise now that attempts to over-specify depedencies to avoid practical cabal install issues can backfire, and a package author should just accept that cabal install can't be made 100% reliable installation method for non-experts (for now - I know many people are thinking about this). And, I've fixed/relaxed the process dependency in hledger head, and only laziness/business has prevented that from being released to hackage. I'll do that asap. Cheers - Simon
participants (1)
-
Simon Michael