X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fusers_guide%2F6.12.1-notes.xml;h=9e0ecbfbf84c6d8afd9f5795f0ac3d6510f688fe;hb=0e1c226ee99011d9af202de78e2a7a37511f4b72;hp=e2c8884fc9fdfbbf89edd560afdfadaf499e649e;hpb=3ccfc4ca218bbde19832191b372aa2dda7f7541d;p=ghc-hetmet.git diff --git a/docs/users_guide/6.12.1-notes.xml b/docs/users_guide/6.12.1-notes.xml index e2c8884..9e0ecbf 100644 --- a/docs/users_guide/6.12.1-notes.xml +++ b/docs/users_guide/6.12.1-notes.xml @@ -169,8 +169,9 @@ data instance T [a] where The -#include flag and INCLUDE pragma are now deprecated and - ignored. GHC now generates its own C prototypes, rather than - relying on C prototypes. + ignored. Since version 6.10.1, GHC has generated its own C + prototypes for foreign calls, rather than relying on + prototypes from C header files. @@ -184,7 +185,8 @@ data instance T [a] where There is a new FFI calling convention called - prim, which allows calling C-- function. + prim, which allows calling C-- functions + (see ). Most users are not expected to need this. @@ -213,16 +215,7 @@ data instance T [a] where block, but its result is not bound. The flags -fwarn-unused-do-bind and -fwarn-wrong-do-bind control - these warnings. - - - - - - There is a new warning if a monadic result of type other than - m () is not bound. - The flag -fwarn-unused-do-bind controls - this warning. + these warnings (see ). @@ -252,6 +245,10 @@ data instance T [a] where Runtime system + + The following options are all described in + . + @@ -263,31 +260,34 @@ data instance T [a] where - The new flag +RTS -q1 disables the parallel - garbage collector. + The parallel GC now uses the same threads as the mutator, + with the consequence that you can no longer select a + different number of threads to use for GC. + The RTS + option has been removed, except that is + still accepted for backwards compatibility. - - The new flag - +RTS -qgn - sets the minimum generation for which parallel garbage - collection is used. Defaults to 1. + +RTS -qggen sets + the minimum generation for which parallel garbage collection + is used. Defaults to 1. The flag -qg on + its own disables parallel GC. - The new flag +RTS -qa - uses the OS to set thread affinity. + The new flag +RTS -qbgen + controls load balancing in the parallel GC. - The new flag +RTS -qb - disables load balancing in the parallel garbage collector. + The new flag +RTS -qa + uses the OS to set thread affinity (experimental). @@ -297,7 +297,7 @@ data instance T [a] where the new flag +RTS -l generates prog.eventlog files, which tools such as ThreadScope can use to show the - behaviour of your program. The + behaviour of your program (see ). The +RTS -D>x output is also sent to the eventlog file if this option is enabled. The +RTS -v flag sends eventlog data to @@ -343,7 +343,7 @@ SPARKS: 1430 (2 converted, 1427 pruned) In order to generate the parsers, happy >= 1.16 is now required. The parsers are pre-generated in the source tarball, - so most users will not need happy. + so most users will not need Happy. @@ -512,12 +512,6 @@ Loaded: Prelude Support PageUp and PageDown keys. - - - - Let ctrl-L (clear-screen) work during getInputChar. - - @@ -577,8 +571,11 @@ deriveMyStuff ''T Packages can now be identified by a "package ID", which is based on a hash of the ABIs. The new flag - -package-id allows packages to be selected - by this identifier. + -package-id allows packages to be + selected by this identifier (see ). Package IDs enable GHC to detect potential + incompatibilities between packages and broken dependencies + much more accurately than before. @@ -610,6 +607,31 @@ ghc --abi-hash M1 M2 ... Rather than being a single package.conf file, package databases now consist of a directory containing one file per package, and a binary cache of the information. + GHC should be much faster to start up when the package + database grows large. + + + + + + There is a new command ghc-pkg init to + create a package database. + + + + + + There is a new command ghc-pkg dot to + generate a GraphViz graph of the dependencies between + installed packages. + + + + + + There is a new command ghc-pkg recache to + update the package database cache should it become out of + date, or for registering packages manually. @@ -670,6 +692,19 @@ ghc --abi-hash M1 M2 ... + Lazy I/O now throws an exception if an error is + encountered, in a divergence from the Haskell 98 spec which + requires that errors are discarded (see Section 21.2.2 of + the Haskell 98 report). The exception thrown is the usual + IO exception that would be thrown if the failing IO + operation was performed in the IO monad, and can be caught + by System.IO.Error.catch + or Control.Exception.catch. + + + + + It is now possible to create your own handles. For more information, see the GHC.IO.Handle haddock docs.