diff options
author | Austin Seipp <aseipp@pobox.com> | 2013-06-08 18:17:13 -0500 |
---|---|---|
committer | Austin Seipp <aseipp@pobox.com> | 2013-06-08 19:11:00 -0500 |
commit | 16dc39eb9f9520966e6b87d2ef8dcad3bf691754 (patch) | |
tree | 861bfe1799e37a09d0e18c8be3857a4a3af361e4 /docs | |
parent | 972c044d5da72cee3a43209ccb41e2229914211c (diff) | |
download | haskell-16dc39eb9f9520966e6b87d2ef8dcad3bf691754.tar.gz |
Outline 7.8.1 release notes.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/users_guide/7.8.1-notes.xml | 491 |
1 files changed, 476 insertions, 15 deletions
diff --git a/docs/users_guide/7.8.1-notes.xml b/docs/users_guide/7.8.1-notes.xml index 20785d09fa..8106687369 100644 --- a/docs/users_guide/7.8.1-notes.xml +++ b/docs/users_guide/7.8.1-notes.xml @@ -3,9 +3,9 @@ <title>Release notes for version 7.8.1</title> <para> - The significant changes to the various parts of the compiler are - listed in the following sections. There have also been numerous bug - fixes and performance improvements over the 7.6 branch. + The significant changes to the various parts of the compiler are listed + in the following sections. There have also been numerous bug fixes and + performance improvements over the 7.6 branch. </para> <sect2> @@ -16,18 +16,479 @@ </para> <itemizedlist> - <listitem> - <para> - TODO: Format these nicely and expand: - - type holes - - rebindable list syntax - - major changes to the type inference engine - - type level naturals - - overlapping type families - - new codegen - </para> - </listitem> + <listitem> + <para> + GHC now supports "type holes" with the + <literal>TypeHoles</literal> extension. When enabled, the + unbound literal <literal>_</literal> may be used during + development in place of a regular identifier, and GHC will + respond with the type necessary to "fill in the hole." + + TODO FIXME: reference. + </para> + </listitem> + + <listitem> + <para> + GHC now supports overloading list literals using the new + <literal>OverloadedLists</literal> extension. + + TODO FIXME: reference. + </para> + </listitem> + + <listitem> + <para> + GHC now supports overlapping type family instances when + <literal>TypeFamilies</literal> are enabled. + + TODO FIXME: reference. + </para> + </listitem> + + <listitem> + <para> + There has been significant overhaul of the type inference engine and + constraint solver. + + TODO FIXME: reference. + </para> + </listitem> + + <listitem> + <para> + By default, GHC will now unbox all "small" strict fields in a + data type. A "small" data type is one whose size is equivalent + to or smaller than the native word size of the machine. This + means you no longer have to specify <literal>UNPACK</literal> + pragmas for e.g. <literal>Int</literal> fields. This also + applies to floating-point values. + </para> + </listitem> + + <listitem> + <para> + GHC now has a brand-new I/O manager that scales significantly + better for larger workloads compared to the previous one. It + should scale linearly up to approximately 32 cores. + </para> + </listitem> + + <listitem> + <para> + The LLVM backend now supports 128bit SIMD operations. This is + now exploited in both the <literal>vector</literal> and + <literal>dph</literal> packages, exposing a high level + interface. + + TODO FIXME: reference. + </para> + <para> + This is only available with the LLVM backend. + </para> + </listitem> + + <listitem> + <para> + The new code generator, after significant work by many + individuals over the past several years, is now enabled by + default. This is a complete rewrite of the STG to Cmm + transformation. In general, your programs may get slightly + faster. + </para> + + <para> + The old code generator has been removed completely. + </para> + </listitem> + + <listitem> + <para> + TODO: mention dynamic changes + </para> + </listitem> + + <listitem> + <para> + TODO: mention new <literal>Typeable</literal> and + <literal>AutoDeriveTypeable</literal> + </para> + </listitem> + </itemizedlist> + </sect2> + + <sect2> + <title>Full details</title> + <sect3> + <title>Language</title> + <itemizedlist> + <listitem> + <para> + TODO FIXME + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>Compiler</title> + <itemizedlist> + <listitem> + <para> + GHC now supports a <literal>--show-options</literal> flag, + which will dump all of the flags it supports to standard out. + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>GHCi</title> + <itemizedlist> + <listitem> + <para> + TODO FIXME + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>Template Haskell</title> + <itemizedlist> + <listitem> + <para> + TODO FIXME + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>Runtime system</title> + <itemizedlist> + <listitem> + <para> + The performance of <literal>StablePtr</literal>s and + <literal>StableName</literal>s has been improved. + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>Build system</title> + <itemizedlist> + <listitem> + <para> + GHC >= 7.4 is now required for bootstrapping. + </para> + </listitem> + </itemizedlist> + </sect3> + </sect2> + + <sect2> + <title>Libraries</title> + + <para> + There have been some changes that have effected multiple + libraries: + </para> + + <itemizedlist> + <listitem> + <para> + TODO FIXME + </para> + </listitem> + </itemizedlist> + + <para> + The following libraries have been removed from the GHC tree: + </para> + + <itemizedlist> + <listitem> + <para>TODO FIXME</para> + </listitem> + </itemizedlist> + + <para> + The following libraries have been added to the GHC tree: + </para> + + <itemizedlist> + <listitem> + <para>TODO FIXME</para> + </listitem> </itemizedlist> + + <sect3> + <title>array</title> + <itemizedlist> + <listitem> + <para> + Version number XXXX (was XXXX) + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>base</title> + <itemizedlist> + <listitem> + <para> + Version number 4.7.0.0 (was 4.6.0.1) + </para> + </listitem> + <listitem> + <para> + The <literal>Control.Category</literal> module now has the + <literal>PolyKinds</literal> extension enabled, meaning + that instances of <literal>Category</literal> no longer + need be of kind <literal>* -> * -> *</literal> + </para> + </listitem> + <listitem> + <para> + There are now <literal>Foldable</literal> and <literal>Traversable</literal> + instances for <literal>Either a</literal> and <literal>(,) a</literal> + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>bin-package-db</title> + <itemizedlist> + <listitem> + <para> + This is an internal package, and should not be used. + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>binary</title> + <itemizedlist> + <listitem> + <para> + Version number XXXX (was XXXX) + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>bytestring</title> + <itemizedlist> + <listitem> + <para> + Version number XXXX (was XXXX) + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>Cabal</title> + <itemizedlist> + <listitem> + <para> + Version number XXXX (was XXXX) + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>containers</title> + <itemizedlist> + <listitem> + <para> + Version number XXXX (was XXXX) + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>deepseq</title> + <itemizedlist> + <listitem> + <para> + Version number XXXX (was XXXX) + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>directory</title> + <itemizedlist> + <listitem> + <para> + Version number XXXX (was XXXX) + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>filepath</title> + <itemizedlist> + <listitem> + <para> + Version number XXXX (was XXXX) + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>ghc-prim</title> + <itemizedlist> + <listitem> + <para> + Version number XXXX (was XXXX) + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>haskell98</title> + <itemizedlist> + <listitem> + <para> + Version number XXXX (was XXXX) + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>haskell2010</title> + <itemizedlist> + <listitem> + <para> + Version number XXXX (was XXXX) + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>hoopl</title> + <itemizedlist> + <listitem> + <para> + Version number XXXX (was XXXX) + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>hpc</title> + <itemizedlist> + <listitem> + <para> + Version number XXXX (was XXXX) + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>integer-gmp</title> + <itemizedlist> + <listitem> + <para> + Version number XXXX (was XXXX) + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>old-locale</title> + <itemizedlist> + <listitem> + <para> + Version number XXXX (was XXXX) + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>old-time</title> + <itemizedlist> + <listitem> + <para> + Version number XXXX (was XXXX) + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>process</title> + <itemizedlist> + <listitem> + <para> + Version number XXXX (was XXXX) + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>template-haskell</title> + <itemizedlist> + <listitem> + <para> + Version number XXXX (was XXXX) + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>time</title> + <itemizedlist> + <listitem> + <para> + Version number XXXX (was XXXX) + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>unix</title> + <itemizedlist> + <listitem> + <para> + Version number XXXX (was XXXX) + </para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>Win32</title> + <itemizedlist> + <listitem> + <para> + Version number XXXX (was XXXX) + </para> + </listitem> + </itemizedlist> + </sect3> </sect2> </sect1> - |