Understanding directory structure of ghc installation

Brian Hulley brianh at metamilk.com
Thu Jun 1 06:36:23 EDT 2006


Hi -
I've just downloaded and installed Edison using Cabal.
However I now see that Edison seems to have been already installed with the 
ghc 6.4.2 installation, even though there's no mention of Edison in 
/doc/html/libraries/index.html, because there are old Edison .hi files in

    ghc-6.4.2/hslibs-imports/data

whereas the Cabal install process copied newly built Edison files to
      C:\Program Files\Haskell\EdisonAPI-1.2\ghc-6.4.2\Data
and
      C:\Program Files\Haskell\EdisonCore-1.2\ghc-6.4.2\Data

I was about to just delete the old .hi files from the hslibs-imports/data 
directory, but then I noticed there are a few .hi files there for Set and 
FiniteMap, even though there are also .hi files (though of different sizes) 
for Set and FiniteMap stored in the imports/data directory as well.

So my question is: how to understand all this? Why are there different 
copies of Set.hi which have different sizes, but in the same installation, 
and which one does ghc use when I use import Data.Set in a program?

Also, what does .p_hi mean? (The new build of Edison only creates .hi files 
not .p_hi files but all the ghc-6.4.2 modules have both .hi and .p_hi files)

(It would also be interesting to know where Cabal gets the information from 
to configure a package, and where the package database is stored...)

Thanks, Brian.

-- 
Logic empowers us and Love gives us purpose.
Yet still phantoms restless for eras long past,
congealed in the present in unthought forms,
strive mightily unseen to destroy us.

http://www.metamilk.com 



More information about the Glasgow-haskell-users mailing list