X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fusers_guide%2Fseparate_compilation.xml;h=58726e56d23f6f176947362fea9cbef948743034;hb=f81df3c6e23b8d7d02eacca3d40974a45c7eb6d6;hp=696d6878697e0b67fb3fb21731bfc8218351ef09;hpb=dfcf88523ec5988fbcaa2cbf812cc5862ad621cf;p=ghc-hetmet.git
diff --git a/docs/users_guide/separate_compilation.xml b/docs/users_guide/separate_compilation.xml
index 696d687..58726e5 100644
--- a/docs/users_guide/separate_compilation.xml
+++ b/docs/users_guide/separate_compilation.xml
@@ -114,7 +114,9 @@
has been specified, then the object filename is
dir/mod.osuf,
where mod is the module name with
- dots replaced by slashes.
+ dots replaced by slashes. GHC will silently create the necessary directory
+ structure underneath dir, if it does not
+ already exist.
@@ -182,7 +184,7 @@
dots replaced by the directory separator ('/' or '\', depending
on the system), and extension is a
source extension (hs, lhs)
- if we are in mode and GHCi, or
+ if we are in mode or GHCi, or
hisuf otherwise.
For example, suppose the search path contains directories
@@ -218,7 +220,7 @@
This isn't the whole story: GHC also looks for modules in
pre-compiled libraries, known as packages. See the section on
- packages (), for details.
+ packages () for details.
@@ -434,7 +436,9 @@ $ ghc -c parse/Foo.hs parse/Bar.hs gurgle/Bumble.hs -odir `arch`
+ ,
+
@@ -449,7 +453,9 @@ $ ghc -c parse/Foo.hs parse/Bar.hs gurgle/Bumble.hs -odir `arch`
+ ,
+
@@ -459,7 +465,9 @@ $ ghc -c parse/Foo.hs parse/Bar.hs gurgle/Bumble.hs -odir `arch`
+ ,
+
@@ -603,9 +611,9 @@ $ ghc -c parse/Foo.hs parse/Bar.hs gurgle/Bumble.hs -odir `arch`
-
-
-
+
+
+ Turn off recompilation checking (which is on by
@@ -704,7 +712,7 @@ module A where
To compile these three files, issue the following commands:
- ghc -c A.hs-boot -- Poduces A.hi-boot, A.o-boot
+ ghc -c A.hs-boot -- Produces A.hi-boot, A.o-boot
ghc -c B.hs -- Consumes A.hi-boot, produces B.hi, B.o
ghc -c A.hs -- Consumes B.hi, produces A.hi, A.o
ghc -o foo A.o B.o -- Linking the program
@@ -770,7 +778,7 @@ When a hs-boot file A.hs-boot A module M that is
{-# SOURCE #-}-imported in a program will usually also be
ordinarily imported elsewhere. If not, ghc --make
- automatically adds M to the set of moudles it tries to
+ automatically adds M to the set of modules it tries to
compile and link, to ensure that M's implementation is included in
the final program.
@@ -810,13 +818,13 @@ can be given abstractly, by omitting the '=' sign and everything that follows.
it out precisely as in its real definition.
If you do not write out the constructors, you may need to give a kind
- annotation (), to tell
+ annotation (), to tell
GHC the kind of the type variable, if it is not "*". (In source files, this is worked out
from the way the type variable is used in the constructors.) For example:
data R (x :: * -> *) y
-You cannot use deriving on a data type declaration; write in
+You cannot use deriving on a data type declaration; write an
instance declaration instead.
Class declarations is exactly as in Haskell, except that you may not put
@@ -913,11 +921,11 @@ Foo.o Foo.hc Foo.s : Baz.hi # Foo imports Baz
make looks for a rule to do so; one of the
preceding suffix rules does the job nicely. These dependencies
can be generated automatically by ghc; see
-
+
-
+ Dependency generationdependencies in MakefilesMakefile dependencies
@@ -1014,6 +1022,15 @@ ghc -M -optdep-f -optdep.depend ...
+
+
+ Display a list of the cycles in the module graph. This is
+ useful when trying to eliminate such cycles. You do not need the -optdep prefix
+ for this flag.
+
+
+
+ Turn off warnings about interface file shadowing.
@@ -1098,6 +1115,7 @@ ghc -M -optdep-f -optdep.depend ...
+
@@ -1165,7 +1184,7 @@ and GHC has no other reason for visiting the module. Example:
class C a where ...
Here, neither D nor T is declared in module Orphan.
-We call such modules ``orphan modules'',
+We call such modules “orphan modules”,
defined thus:
An orphan module
@@ -1176,7 +1195,7 @@ defined thus: An instance declaration in a module M is an orphan instance if
orphan instance
none of the type constructors
- or classes mentioned in the instance head (the part after the ``=>'') are declared
+ or classes mentioned in the instance head (the part after the “=>”) are declared
in M. Only the instance head counts. In the example above, it is not good enough for C's declaration
@@ -1200,8 +1219,8 @@ your best to have as few orphan modules as possible.
You can identify an orphan module by looking in its interface
file, M.hi, using the
-. If there is a ``!'' on the first line,
-GHC considers it an orphan module.
+. If there is a “!” on the
+first line, GHC considers it an orphan module.