From: simonpj@microsoft.com Date: Mon, 21 May 2007 09:33:08 +0000 (+0000) Subject: Document -fomit-interface-pragmas, -fignore-interface-pragmas X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=eb51c44142ecd9dea175d9632f16cc75a44476f5 Document -fomit-interface-pragmas, -fignore-interface-pragmas --- diff --git a/docs/users_guide/using.xml b/docs/users_guide/using.xml index 544a6e8..f81b1c8 100644 --- a/docs/users_guide/using.xml +++ b/docs/users_guide/using.xml @@ -1485,6 +1485,50 @@ f "2" = 2 + + + + + Turn off the "state hack" whereby any lambda with a + State# token as argument is considered to be + single-entry, hence it is considered OK to inline things inside + it. This can improve performance of IO and ST monad code, but it + runs the risk of reducing sharing. + + + + + + + + + + Tells GHC to omit all inessential information from the interface file + generated for the module being compiled (say M). This means that a module + importing M will see only the types of the functions that M exports, but not + their unfoldings, strictness info, etc. Hence, for example, + no function exported by M will be inlined + into an importing module. The benefit is that modules that import M will + need to be recompiled less often (only when M's exports change their type, + not when they change their implementation). + + + + + + + + + + + Tells GHC to ignore all inessential information when reading interface files. + That is, even if M.hi contains unfolding or strictness information + for a function, GHC will ignore that information. + + + + + : strict constructor fields @@ -1507,7 +1551,7 @@ f "2" = 2 - + @@ -1525,7 +1569,7 @@ f "2" = 2 - : + : inlining, controlling unfolding, controlling @@ -1551,7 +1595,7 @@ f "2" = 2 - : + inlining, controlling