
Hello Dimitri, I recommend you to use stack (https://github.com/commercialhaskell/stack) instead of cabal. Never had any problem with building since I started using it. It's awesome. It solved all my headaches caused by Cabal. But it still treats dependencies in the same way. Rene On Sat, Jul 18, 2015 at 6:47 PM, Dimitri DeFigueiredo < defigueiredo@ucdavis.edu> wrote:
Thanks Karl!
The way cabal is working makes sense now.
I don't like it, though. Having a build fail because of changes made to another target is counter-intuitive to me. I don't understand your argument for why the current behavior is a good thing. It seems we would be extending so called "cabal hell" to within targets in a package if we were to change this? I do wish there were other options here.
Anyway, thanks again for the explanation!
Dimitri
Em 17/07/15 19:29, Karl Voelker escreveu:
On Fri, Jul 17, 2015, at 04:08 PM, Dimitri DeFigueiredo wrote:
Is this a bug? Or am I missing something?
The dependencies are not global. You can see this by trying to import a module in Mpm.hs that is in one of the unique dependencies of "agent" - the import fails. [1]
However, in order to build, you must first configure. And the "configure" step cannot be done for a single executable - it's done for the whole package. Since package dependencies are checked during the configure step, you have to have all the dependencies in place for all targets.
I think this is probably a good thing, because otherwise, you could end up installing some packages that satisfy the dependencies of one target, only to find out that the particular package versions which were chosen make it impossible to satisfy the dependencies of the other target.
-Karl
1. https://gist.github.com/ktvoelker/d561889ac4bd56cadc2d _______________________________________________ Beginners mailing list Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
_______________________________________________ Beginners mailing list Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners