Cabal-install bug
wren ng thornton
wren at freegeek.org
Mon Feb 6 00:56:46 CET 2012
On 2/5/12 6:41 PM, Brandon Allbery wrote:
> On Sun, Feb 5, 2012 at 18:19, wren ng thornton<wren at freegeek.org> wrote:
>
>> $> cabal install --dry-run --jhc --verbose base
>> Reading available packages...
>> Resolving dependencies...
>> cabal: internal error: impossible
>>
>> $> cabal install --dry-run --ghc --verbose base
>> Reading available packages...
>> Resolving dependencies...
>> cabal: Distribution/Client/**Dependency/TopDown.hs:171:37-**73:
>> Non-exhaustive patterns in lambda
>
> base is supposed to be installable?! I always understood that error to
> mean "base has to be built with the compiler, cabal-install is incapable of
> doing this for you".
Well,
(a) If I ask it to install "base-4.5.0.0" or some other specific version
instead of "base", then it says okay and tells me that's the package it
would install (this is --dry-run remember).
(b) If I ask it to install a specific version without the --dry-run flag
then it will indeed download the package and try it's best (though it
fails in the configure step).
(c) But more particularly, the above messages indicate that the issue is
a bug in cabal or cabal-install itself, rather than a bug in what I'm
trying to do. Correct programs should never die due to exceptions like
partial case analysis. The "internal error: impossible" message hints at
this, though it would be nice if it gave more details about what/where
things went wrong.
(d) If the intention is to exclude base as a special case, then it
should be given an explicit error message, rather than relying on users
to interpret a partial case analysis. If that is not the intention, then
clearly there's a logic failure somewhere which allows the partial case
analysis to fail.
--
Live well,
~wren
More information about the Libraries
mailing list