X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fusers_guide%2Fseparate_compilation.xml;h=c890f60d933ee577c97746e5e5457d64e27daf36;hb=a8e681c1e8aa4bc602714ff61583cd4e969d7187;hp=c33ff2175b6935222206bdb4b5e0b3f6f3aefc1c;hpb=0065d5ab628975892cea1ec7303f968c3338cbe1;p=ghc-hetmet.git diff --git a/docs/users_guide/separate_compilation.xml b/docs/users_guide/separate_compilation.xml index c33ff21..c890f60 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. @@ -603,9 +605,9 @@ $ ghc -c parse/Foo.hs parse/Bar.hs gurgle/Bumble.hs -odir `arch` - - - + + + Turn off recompilation checking (which is on by @@ -810,18 +812,20 @@ 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 +instance declaration instead. Class declarations is exactly as in Haskell, except that you may not put -default method declarations. You can also omit all the class methods entirely. +default method declarations. You can also omit all the superclasses and class +methods entirely; but you must either omit them all or put them all in. - Do not include instance declarations. There is a complication to do with -how the dictionary functions are named. It may well work, but it's not a well-tested feature. + You can include instance declarations just as in Haskell; but omit the "where" part. @@ -911,11 +915,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 generation dependencies in Makefiles Makefile dependencies