From e538676302bc652e9f9b0c08a636172d91e14f49 Mon Sep 17 00:00:00 2001 From: rrt Date: Thu, 13 Apr 2000 15:00:49 +0000 Subject: [PATCH] [project @ 2000-04-13 15:00:49 by rrt] Added details of packages. --- ghc/docs/users_guide/installing.sgml | 2 +- ghc/docs/users_guide/using.sgml | 81 +++++++++++++++++++++++----------- 2 files changed, 57 insertions(+), 26 deletions(-) diff --git a/ghc/docs/users_guide/installing.sgml b/ghc/docs/users_guide/installing.sgml index 8a28e3c..b03bbdc 100644 --- a/ghc/docs/users_guide/installing.sgml +++ b/ghc/docs/users_guide/installing.sgml @@ -123,7 +123,7 @@ These sub-directories have the following general structure: -libHS.a etc: +libHSstd.a etc: supporting library archives. diff --git a/ghc/docs/users_guide/using.sgml b/ghc/docs/users_guide/using.sgml index 595e13d..5c42c41 100644 --- a/ghc/docs/users_guide/using.sgml +++ b/ghc/docs/users_guide/using.sgml @@ -704,9 +704,6 @@ sanity, not yours.) separate compilation recompilation checker make and recompilation - - - This section describes how GHC supports separate compilation. @@ -990,40 +987,74 @@ sight! -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. + - + + -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. +Each package is built into a single library (Unix; e.g. libHSfoo.a), or a single DLL (Windows; e.g. HSfoo.dll) + + + + +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. + + + + Using <Command>make</Command> -- 1.7.10.4