X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fusers_guide%2Fusing.xml;h=439fb58c90b6ba96d19432e3d75b264d2e0c86bd;hb=a078252410f284229e5f2440e7b8a9b32a6cfd33;hp=3c19be5de233e485b6ef3a2a446cf69b43c162b2;hpb=3b6382e443ed57d08dc676337621fc3d5cd0cb05;p=ghc-hetmet.git
diff --git a/docs/users_guide/using.xml b/docs/users_guide/using.xml
index 3c19be5..439fb58 100644
--- a/docs/users_guide/using.xml
+++ b/docs/users_guide/using.xml
@@ -841,7 +841,7 @@ ghc -c Foo.hs
of warnings which are generally likely to indicate bugs in your
program. These are:
,
- ,
+ ,
,
,
,
@@ -919,15 +919,16 @@ ghc -c Foo.hs
- :
+ :
-
+
+ warningsdeprecations
- Causes a warning to be emitted when a deprecated
- function or type is used. Entities can be marked as
- deprecated using a pragma, see .
+ Causes a warning to be emitted when a
+ module, function or type with a WARNING or DEPRECATED pragma
+ is used. See for more
+ details on the pragmas.This option is on by default.
@@ -1178,7 +1179,8 @@ f foo = foo { x = 6 }
The trouble with orphans is that GHC must pro-actively read the interface
files for all orphan modules, just in case their instances or rules
play a role, whether or not the module's interface would otherwise
- be of any use. Other things being equal, avoid orphan modules.
+ be of any use. See for details.
+
@@ -1763,15 +1765,58 @@ f "2" = 2
linkend="lang-parallel" /> we describe the language features that affect
parallelism.
-
- Options for SMP parallelism
+
+ Compile-time options for SMP parallelismIn order to make use of multiple CPUs, your program must be
linked with the option (see ). Then, to run a program on multiple
- CPUs, use the RTS option:
+ linkend="options-linker" />). Additionally, the following
+ compiler options affect parallelism:
+
+
+
+
+
+ Blackholing is the act of marking a thunk (lazy
+ computuation) as being under evaluation. It is useful for
+ three reasons: firstly it lets us detect certain kinds of
+ infinite loop (the NonTermination
+ exception), secondly it avoids certain kinds of space
+ leak, and thirdly it avoids repeating a computation in a
+ parallel program, because we can tell when a computation
+ is already in progress.
+
+
+ The option causes
+ each thunk to be blackholed as soon as evaluation begins.
+ The default is "lazy blackholing", whereby thunks are only
+ marked as being under evaluation when a thread is paused
+ for some reason. Lazy blackholing is typically more
+ efficient (by 1-2% or so), because most thunks don't
+ need to be blackholed. However, eager blackholing can
+ avoid more repeated computation in a parallel program, and
+ this often turns out to be important for parallelism.
+
+
+
+ We recommend compiling any code that is intended to be run
+ in parallel with the
+ flag.
+
+
+
+
+
+
+
+ RTS options for SMP parallelism
+
+ To run a program on multiple CPUs, use the
+ RTS option:
+
+
@@ -1904,7 +1949,7 @@ statements or clauses.
GHC can dump its optimized intermediate code (said to be in “Core” format)
to a file as a side-effect of compilation. Non-GHC back-end tools can read and process Core files; these files have the suffix
- .hcr. The Core format is described in
+ .hcr. The Core format is described in An External Representation for the GHC Core Language,
and sample tools
for manipulating Core files (in Haskell) are in the GHC source distribution