Adding TcGadt.lhs
[ghc-hetmet.git] / docs / users_guide / 6.6-notes.xml
index 9b215b0..0e7b12b 100644 (file)
@@ -28,7 +28,7 @@
           GHC now handles impredicative polymorphism and there are
           changes to the way scoped type variables work; see
           <ulink url="http://www.haskell.org/pipermail/glasgow-haskell-users/2006-January/009565.html"> Simon's e-mail</ulink>
-          for more details.
+          for more details of the change, or <xref linkend="impredicative-polymorphism" /> for the documentation.
         </para>
       </listitem>
       <listitem>
@@ -41,6 +41,7 @@
           <programlisting>
     f (x, y) | x `seq` False = undefined
              | otherwise = [x,y]</programlisting>
+          See <xref linkend="sec-bang-patterns" /> for more details.
         </para>
       </listitem>
       <listitem>
@@ -96,6 +97,8 @@
           performance when a lot of memory is taken up by
           <literal>STArray</literal>s, <literal>IOArray</literal>s,
           <literal>STRef</literal>s or <literal>IORef</literal>s.
+          For more details see
+          <ulink url="http://hackage.haskell.org/trac/ghc/ticket/650">trac bug #650</ulink>.
         </para>
       </listitem>
       <listitem>
           <literal>MyIO <replaceable>t</replaceable></literal>
           rather than just
           <literal>IO <replaceable>t</replaceable></literal>.
+         See <xref linkend="ffi-newtype-io"/>
         </para>
       </listitem>
+      <listitem> <para> GHC's mechansim for deriving user-defined classes
+         for newtypes has been further generalised, to multi-parameter type
+         classes and higher-kinded types.  See <xref
+         linkend="newtype-deriving"/>.
+         </para></listitem>
       <listitem>
         <para>
           By default, pattern bindings in GHC are now monomorphic.
       </listitem>
       <listitem>
         <para>
+          Linear implicit parameters have been scheduled for removal for some
+          time.  In 6.6 we've removed them from the user manual, and they may
+         well disappear from the compiler itself in 6.6.1.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           It is now possible, with the <literal>-I</literal> RTS flag,
           to control the amount of idle time that happens before a major
-          GC is performed.
+          GC is performed. There is more detail in
+          <xref linkend="rts-options-gc" />.
         </para>
       </listitem>
       <listitem>
       </listitem>
       <listitem>
         <para>
-          The <option>-split-objs</option> flag can now be used with
-          <option>--make</option>, and hence can be used by cabal.
+          The <option>-split-objs</option> flag, which makes libraries
+          smaller, can now be used with <option>--make</option> and hence
+          can be used by cabal.
+          See <xref linkend="options-linker" /> for more information.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Template Haskell used to have limited support for type signatures in 
+         patterns, but since that design is in flux for Haskell (let alone
+         Template Haskell), we've removed type signatures in patterns from
+         Template Haskell.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          GHC now supports postfix operators, as a simple generalisation of
+          left sections (<xref linkend="postfix-operators"/>).
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Parallel arrays, as enabled by <literal>-fparr</literal>, no
+          longer work.  They'll be coming back shortly, in full glory.
         </para>
       </listitem>
     </itemizedlist>
       <itemizedlist>
         <listitem>
           <para>
-            Version number 1.1.5 (was 1.1.4).
+            Version number 1.1.6 (was 1.1.4).
           </para>
         </listitem>
         <listitem>
         </listitem>
         <listitem>
           <para>
-            Added <filename>cabal-setup</filename>, a user interface to
-            building and installing Cabal packages.
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Added <filename>cabal-install</filename>, an automated
-            installer for cabal packages.
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            There is now a <literal>Network.Hackage</literal> hierarchy
-            for code needed by hackage, the package server.
-          </para>
-        </listitem>
-        <listitem>
-          <para>
             There are now modules
             <literal>Distribution.Simple.<replaceable>compiler</replaceable></literal>
             for each of <literal>GHC</literal>, <literal>NHC</literal>,