[Haskell-beginners] Cabal dependencies are per target or global?

René Klačan rene.klacan at gmail.com
Sat Jul 18 21:15:50 UTC 2015


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 at 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 at haskell.org
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>>
>
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20150718/1cba6099/attachment.html>


More information about the Beginners mailing list