Document the fact that you can't make a newtype of an unboxed data type
[ghc-hetmet.git] / docs / users_guide / glasgow_exts.xml
index d9a6198..61cff6e 100644 (file)
@@ -277,8 +277,6 @@ documentation</ulink> describes all the libraries that come with GHC.
   </sect1>
 
 <!-- UNBOXED TYPES AND PRIMITIVE OPERATIONS -->
-<!--    included from primitives.sgml  -->
-<!-- &primitives; -->
 <sect1 id="primitives">
   <title>Unboxed types and primitive operations</title>
 
@@ -383,6 +381,13 @@ worse, the unboxed value might be larger than a pointer
 (<literal>Double&num;</literal> for instance).
 </para>
 </listitem>
+<listitem><para> You cannot define a newtype whose representation type
+(the argument type of the data constructor) is an unboxed type.  Thus,
+this is illegal:
+<programlisting>
+  newtype A = MkA Int#
+</programlisting>
+</para></listitem>
 <listitem><para> You cannot bind a variable with an unboxed type
 in a <emphasis>top-level</emphasis> binding.
 </para></listitem>
@@ -552,14 +557,11 @@ import qualified Control.Monad.ST.Strict as ST
       linkend="search-path"/>.</para>
 
       <para>GHC comes with a large collection of libraries arranged
-      hierarchically; see the accompanying library documentation.
-      There is an ongoing project to create and maintain a stable set
-      of <quote>core</quote> libraries used by several Haskell
-      compilers, and the libraries that GHC comes with represent the
-      current status of that project.  For more details, see <ulink
-      url="http://www.haskell.org/~simonmar/libraries/libraries.html">Haskell
-      Libraries</ulink>.</para>
-
+      hierarchically; see the accompanying <ulink
+      url="../libraries/index.html">library
+      documentation</ulink>.  More libraries to install are available
+      from <ulink
+      url="http://hackage.haskell.org/packages/hackage.html">HackageDB</ulink>.</para>
     </sect2>
 
     <!-- ====================== PATTERN GUARDS =======================  -->