Send Beginners mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
        http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
or, via email, send a message with subject or body 'help' to
        [email protected]

You can reach the person managing the list at
        [email protected]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Beginners digest..."


Today's Topics:

   1. Re:  Cabal dependencies are per target or global?
      (Dimitri DeFigueiredo)
   2. Re:  Cabal dependencies are per target or global? (Ren? Kla?an)
   3. Re:  Cabal dependencies are per target or global? (Karl Voelker)


----------------------------------------------------------------------

Message: 1
Date: Sat, 18 Jul 2015 10:47:04 -0600
From: Dimitri DeFigueiredo <[email protected]>
To: The Haskell-Beginners Mailing List - Discussion of primarily
        beginner-level topics related to Haskell <[email protected]>
Subject: Re: [Haskell-beginners] Cabal dependencies are per target or
        global?
Message-ID: <[email protected]>
Content-Type: text/plain; charset=windows-1252; format=flowed

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
> [email protected]
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners



------------------------------

Message: 2
Date: Sat, 18 Jul 2015 23:15:50 +0200
From: Ren? Kla?an <[email protected]>
To: The Haskell-Beginners Mailing List - Discussion of primarily
        beginner-level topics related to Haskell <[email protected]>
Subject: Re: [Haskell-beginners] Cabal dependencies are per target or
        global?
Message-ID:
        <CAD8Jy_OCEFNmEQJC2Xzm4nATfgtL-oAr2yC=_+tdewny22o...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

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 <
[email protected]> 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
>> [email protected]
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>>
>
> _______________________________________________
> Beginners mailing list
> [email protected]
> 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-0001.html>

------------------------------

Message: 3
Date: Sat, 18 Jul 2015 17:14:31 -0700
From: Karl Voelker <[email protected]>
To: [email protected]
Subject: Re: [Haskell-beginners] Cabal dependencies are per target or
        global?
Message-ID:
        <1437264871.1295055.327206433.61c09...@webmail.messagingengine.com>
Content-Type: text/plain

On Sat, Jul 18, 2015, at 09:47 AM, Dimitri DeFigueiredo wrote:
> 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.

Yes, that's exactly right - it would be another way to end up in cabal
hell.

There is another option, though: you could put the executables in
separate packages.

-Karl


------------------------------

Subject: Digest Footer

_______________________________________________
Beginners mailing list
[email protected]
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners


------------------------------

End of Beginners Digest, Vol 85, Issue 12
*****************************************

Reply via email to