X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fusers_guide%2F6.12.1-notes.xml;h=9e0ecbfbf84c6d8afd9f5795f0ac3d6510f688fe;hb=059f2d7be7cc02d093ce51f0bbd68f5e5ebe527d;hp=691863de7b44bdef0a986ec3918599b77cf23291;hpb=129e41ed3570684da268287b05c62ea1dbb240d8;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 691863d..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. @@ -488,6 +488,32 @@ Loaded: Prelude and :set show can now be tab completed. + + + + We inherit some benefits from an upgraded version of haskeline: + + + + + A multitude of new emacs and vi commands. + + + + + + New preference 'historyDuplicates' to prevent storage + of duplicate lines. + + + + + + Support PageUp and PageDown keys. + + + + @@ -545,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. @@ -578,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. @@ -638,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.