[Haskell-cafe] A cabal odyssey

Andrew Coppin andrewcoppin at btinternet.com
Thu Aug 19 16:15:59 EDT 2010

Daniel Fischer wrote:
> On Wednesday 18 August 2010 19:13:48, Andrew Coppin wrote:
>> On that note, I just remembered something else: During the course of
>> playing with all this Cabal stuff, I discovered that I had somehow
>> acquired a global package index. As in, an HTML file that links to the
>> documentation of *all* installed packages, not just the ones that come
>> with GHC. And when I installed more packages, it seemed to add them to
>> this index.
> Yes, when cabal runs haddock on a package, it generates a comprehensive 
> index if none is present or expands it with the new docs.
> Quite cool that :)

It's something I've always _wanted_ Cabal to do, but this is the first 
time I've ever seen it happen. I don't know what particularly I did to 
make this happen, and now it seems to be gone, so...

>> Alas, removing packages doesn't remove them.
> Since cabal isn't involved in removing packages, that can't be done.

I gathered. Apparently there's no "cabal uninstall" or even merely a 
"cabal unregister" yet... (There must surely be a ticket for that already?)

>> I tried deleting the file to see if Cabal would rebuild it,
>> and now I just have no file at all, and no idea how to get it back.
> Generally, until you know it's safe to delete, move or rename first, so if 
> something breaks, it's not gone for good.

Well, the worst thing that can happen is I get no documentation, which 
isn't exactly a disaster. I'm just wondering how these files got created 
to start with; adding more packages doesn't appear to recreate it. I 
suppose I could try reinstalling all of them...

>> Then again, all the links were broken anyway. They all had paths like
>> "C:\Program Files\Haskell\...whatever", and Mozilla apparently expects
>> them to say "file://C:/Program Files/Haskell/...whatever". It kept
>> whining that "the C:\ protocol is not registered"
> Apparently, haddock links to absolute paths. That's of course not the right 
> thing to do if the path begins with an invalid protocol specifier ("C:"). 
> And it's annoying if you want to move the docs.

I imagine it's so that each package can be placed in a completely 
arbitrary place in the filesystem, and the links still work. I'd 
actually be surprised if these URLs work on Linux either; they don't 
appear to follow the requisit web standards.

More information about the Haskell-Cafe mailing list