[[project @ 2000-04-13 15:00:49 by rrt] rrt**20000413150049 Added details of packages. ] { hunk ./ghc/docs/users_guide/installing.sgml 126 -libHS.a etc: +libHSstd.a etc: hunk ./ghc/docs/users_guide/using.sgml 707 - - - hunk ./ghc/docs/users_guide/using.sgml 990 -GHC only keeps detailed dependency information -for “user” modules, not for “Prelude” modules. -It distinguishes Prelude modules because their names start with -"Prel", so don't start your modules that way! +Patrick Sansom had a workshop paper about how all this is done (though +the details have changed quite a bit). Ask him if you want a copy. + hunk ./ghc/docs/users_guide/using.sgml 994 - + hunk ./ghc/docs/users_guide/using.sgml 1009 + hunk ./ghc/docs/users_guide/using.sgml 1011 -Patrick Sansom had a workshop paper about how all this is done (though -the details have changed quite a bit). Ask him if you want a copy. +A package has a name (e.g. std) + + + + + +Each package is built into a single library (Unix; e.g. libHSfoo.a), or a single DLL (Windows; e.g. HSfoo.dll) hunk ./ghc/docs/users_guide/using.sgml 1019 + + + + +The flag tells GHC that the module being compiled is destined for package foo. If this is omitted, the default package, Main, is assumed. + + + + + +The flag tells GHC to make available modules +from package foo. It replaces , which is now deprecated. + + + + + +GHC does not maintain detailed cross-package dependency information. +It does remember which modules in other packages the current module +depends on, but not which things within those imported things. + + + + + +All of this tidies up the Prelude enormously. The Prelude and +Standard Libraries are built into a single package called std. (This +is a change; the library is now called libHSstd.a instead of libHS.a). + + + +It is worth noting that on Windows, because each package is built as a DLL, and a reference to a DLL costs an extra indirection, intra-package references are cheaper than inter-package references. Of course, this applies to the Main package as well. This is not normally the case on most Unices. + + + hunk ./ghc/docs/users_guide/using.sgml 1057 + }