X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fusers_guide%2Fusing.xml;h=b2ac5012c1a08bb46689d7a807e849ad768a1335;hb=0db68e1cf9b83d2d18ba427ec28712de4c9a043f;hp=d805097eca1ba54164e9894a104ab481e12569da;hpb=8051f46061c7cd03f0fc327f047eb2526d00c924;p=ghc-hetmet.git diff --git a/docs/users_guide/using.xml b/docs/users_guide/using.xml index d805097..b2ac501 100644 --- a/docs/users_guide/using.xml +++ b/docs/users_guide/using.xml @@ -841,11 +841,13 @@ ghc -c Foo.hs of warnings which are generally likely to indicate bugs in your program. These are: , - , + , , , - , and - . The following flags are + , + , and + . The following + flags are simple ways to select standard “packages” of warnings: @@ -917,15 +919,16 @@ ghc -c Foo.hs - : + : - + + warnings deprecations - 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. @@ -945,6 +948,30 @@ ghc -c Foo.hs + : + + + + Causes a warning to be emitted for foreign imports of + the following form: + +foreign import "f" f :: FunPtr t + + on the grounds that it probably should be + +foreign import "&f" f :: FunPtr t + + The first form declares that `f` is a (pure) C + function that takes no arguments and returns a pointer to a + C function with type `t`, whereas the second form declares + that `f` itself is a C function with type `t`. The first + declaration is usually a mistake, and one that is hard to + debug because it results in a crash, hence this + warning. + + + + : @@ -1152,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. + @@ -1878,7 +1906,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