diff options
author | Austin Seipp <austin@well-typed.com> | 2014-01-22 16:21:07 -0600 |
---|---|---|
committer | Austin Seipp <austin@well-typed.com> | 2014-01-22 16:21:07 -0600 |
commit | c9ed9aa069ffb28b869bc7e409ebe98494e87f06 (patch) | |
tree | 19b458b2ed5cabe4cf197dd5bc3abd3582ec3630 /docs | |
parent | 721e188942375bf55bcc7dfb3621d72c62c85624 (diff) | |
download | haskell-c9ed9aa069ffb28b869bc7e409ebe98494e87f06.tar.gz |
Clean up the release notes.
In particular, spell out the current dynamic situation, clean up the
FIXMEs and xrefs, and don't forget to mention InterruptibleFFI.
Signed-off-by: Austin Seipp <austin@well-typed.com>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/users_guide/7.8.1-notes.xml | 87 |
1 files changed, 70 insertions, 17 deletions
diff --git a/docs/users_guide/7.8.1-notes.xml b/docs/users_guide/7.8.1-notes.xml index 72601f3e0c..ce3374273b 100644 --- a/docs/users_guide/7.8.1-notes.xml +++ b/docs/users_guide/7.8.1-notes.xml @@ -58,7 +58,7 @@ instances created other than the ones in its definition. - TODO FIXME: reference. + For more information, see <xref linkend="closed-type-families"/> </para> </listitem> @@ -70,7 +70,7 @@ increases the type safety of GHC, it is possible that some code that previously compiled will no longer work. - TODO FIXME: reference. + For more information, see <xref linkend="roles"/> </para> </listitem> @@ -79,16 +79,15 @@ GHC now supports overloading list literals using the new <literal>OverloadedLists</literal> extension. - TODO FIXME: reference. + For more information, see <xref linkend="overloaded-lists"/> </para> </listitem> <listitem> <para> - There has been significant overhaul of the type inference engine and - constraint solver. - - TODO FIXME: reference. + There has been significant overhaul of the type + inference engine and constraint solver, meaning it + should be faster and less memory intensive. </para> </listitem> @@ -116,11 +115,11 @@ <para> The LLVM backend now supports 128- and 256-bit SIMD operations. - - TODO FIXME: reference. </para> <para> - This is only available with the LLVM backend. + Note carefully: this is <em>only</em> available with + the LLVM backend, and should be considered + experimental. </para> </listitem> @@ -144,8 +143,6 @@ compilation. In particular, GHC now has all the necessary patches to support cross compilation to Apple iOS, using the LLVM backend. - - TODO FIXME: reference. </para> </listitem> @@ -174,7 +171,38 @@ <listitem> <para> - TODO: mention dynamic changes + On Linux and Mac OS X, GHCi now uses the system + dynamic linker by default, instead of its built in + (static) object linker. This is more robust + cross-platform, and fixes many long-standing bugs (for + example, both constructors and destructors, weak + symbols, etc work correctly, and several edge cases in + the RTS are fixed.) + </para> + + <para> + As a result of this, GHCi (and Template Haskell) must + now load <em>dynamic</em> object files, not static + ones. To assist this, there is a new compilation flag, + <literal>-dynamic-too</literal>, which when used + during compilation causes GHC to emit both static and + dynamic object files at the same time. GHC itself + still defaults to static linking. + </para> + + <para> + Note that Cabal will correctly handle + <literal>-dynamic-too</literal> for you automatically, + especially when <literal>-XTemplateHaskell</literal> + is needed - but you <em>must</em> tell Cabal you are + using the <literal>TemplateHaskell</literal> + extension. + </para> + + <para> + Currently, Dynamic GHCi and + <literal>-dynamic-too</literal> are not supported on + Windows (32bit or 64bit.) </para> </listitem> @@ -217,10 +245,12 @@ <listitem> <para> - GHC now generates warnings when definitions conflict with the - Applicative-Monad Proposal (AMP). - - TODO FIXME: reference. + In GHC 7.10, <literal>Applicative</literal> will + become a superclass of <literal>Monad</literal>, + potentially breaking a lot of user code. To ease this + transition, GHC now generates warnings when + definitions conflict with the Applicative-Monad + Proposal (AMP). </para> <para> @@ -239,6 +269,29 @@ using the new flag <literal>-f[no-]warn-amp</literal>. </para> </listitem> + + <listitem> + <para> + Using the new <literal>InterruptibleFFI</literal> + extension, it's possible to now declare a foreign + import as <literal>interruptible</literal>, as opposed + to only <literal>safe</literal> or + <literal>unsafe</literal>. An + <literal>interruptible</literal> foreign call is the + same as a <literal>safe</literal> call, but may be + interrupted by asynchronous <em>Haskell + exceptions</em>, such as those generated by + <literal>throwTo</literal> or + <literal>timeout</literal>. + </para> + + <para> + For more information, (including the exact details on + how the foreign thread is interrupted,) see <xref + linkend="ffi-interruptible"/> + </para> + </listitem> + <listitem> <para> GHC's internal compiler pipeline is now exposed |