[Haskell-cafe] [Haskell] Support tools for development with Cabal and Darcs

Duncan Coutts duncan.coutts at googlemail.com
Fri Feb 10 15:14:00 CET 2012

On 10 February 2012 14:00, Henning Thielemann
<lemming at henning-thielemann.de> wrote:
> On Fri, 10 Feb 2012, Duncan Coutts wrote:
>> Would you mind giving me a breif explanation of the "compiling
>> multiple local packages in the right order" feature? I'd like to
>> understand what is missing in cabal-install in this respect.
>> Currently with cabal-install you can say:
>> cabal install ./a ./b ./c
>> and it will install the packages in those directories in the right
>> order. (It is also possible to list other install targets including
>> local and remote tarballs, and of course packages from hackage).
> I believe that the first version of cabal-sort is older than this
> cabal-install feature.

Ah yes, looks like we developed it concurrently. cabal-install 0.10.2
came out in March 2011 and cabal-sort 0.0.1 in May.

> Nonetheless, cabal-sort can be used for other
> purposes, too. E.g. you can use plain Cabal installation, when 'cabal
> install' does not work due to problems in constraint solving. You can upload
> packages in topologically sorted order to Hackage, such that building on
> Hackage works correctly. Is this also done by cabal-install's upload
> command?

No it's not, it's an interesting point. In practice with the current
builder you'd be very unlucky to hit the exact time when it kicks off
builds (only a few times a day). With the new server it's likely to be
more of an issue since that will allow lots of builder clients.

> You can also use cabal-sort for stepping into package directories
> and do some manual updates before installing.
> However, I will add references to the new cabal-install features in the
> documentation of cabal-sort.


I wonder if you have any suggestions for UI changes/improvements for
cabal-install for working with related sets of local packages
(something it's fairly weak on at the moment). Are there things in
cabal-sort you think we should just lift directly into cabal-install
or variations etc?


More information about the Haskell-Cafe mailing list