X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fusers_guide%2Fusing.xml;h=3ab73a1b3b1be1edd4108451078b6e5dd0caa3b6;hb=23c11847ac06735217d778e4e78d527ca0d55649;hp=544a6e85d2210ef717e7ae6cd57ee2dd0ee54b7d;hpb=536852b1348fde6ec0ba13859cc5ddf8480a1653;p=ghc-hetmet.git diff --git a/docs/users_guide/using.xml b/docs/users_guide/using.xml index 544a6e8..3ab73a1 100644 --- a/docs/users_guide/using.xml +++ b/docs/users_guide/using.xml @@ -1276,7 +1276,7 @@ f "2" = 2 Note that higher optimisation levels cause more cross-module optimisation to be performed, which can have an impact on how much of your program needs to be recompiled when - you change something. This is one reaosn to stick to + you change something. This is one reason to stick to no-optimisation when developing code. @@ -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