Improved naming of generated HTML files by using nice IDs
[ghc-hetmet.git] / docs / users_guide / glasgow_exts.xml
index fb2124e..dfedb08 100644 (file)
@@ -964,7 +964,7 @@ a data type with no constructors.  For example:</para>
 <para>Syntactically, the declaration lacks the "= constrs" part.  The 
 type can be parameterised over types of any kind, but if the kind is
 not <literal>*</literal> then an explicit kind annotation must be used
-(see <xref linkend="sec-kinding"/>).</para>
+(see <xref linkend="kinding"/>).</para>
 
 <para>Such data types have only one value, namely bottom.
 Nevertheless, they can be useful when defining "phantom types".</para>
@@ -1226,7 +1226,7 @@ that collection of packages in a uniform manner.  You can express
 quite a bit of object-oriented-like programming this way.
 </para>
 
-<sect4 id="existential">
+<sect3 id="existential">
 <title>Why existential?
 </title>
 
@@ -1249,9 +1249,9 @@ But Haskell programmers can safely think of the ordinary
 adding a new existential quantification construct.
 </para>
 
-</sect4>
+</sect3>
 
-<sect4>
+<sect3>
 <title>Type classes</title>
 
 <para>
@@ -1311,9 +1311,9 @@ Notice the way that the syntax fits smoothly with that used for
 universal quantification earlier.
 </para>
 
-</sect4>
+</sect3>
 
-<sect4 id="existential-records">
+<sect3 id="existential-records">
 <title>Record Constructors</title>
 
 <para>
@@ -1376,10 +1376,10 @@ setTag obj t = obj{ tag = t }
 
 </para>
 
-</sect4>
+</sect3>
 
 
-<sect4>
+<sect3>
 <title>Restrictions</title>
 
 <para>
@@ -1530,7 +1530,7 @@ declarations.  Define your own instances!
 
 </para>
 
-</sect4>
+</sect3>
 </sect2>
 
 <!-- ====================== Generalised algebraic data types =======================  -->
@@ -3372,7 +3372,7 @@ and you'd be right.  That is why they are an experimental feature.
 
 ================ END OF Linear Implicit Parameters commented out -->
 
-<sect2 id="sec-kinding">
+<sect2 id="kinding">
 <title>Explicitly-kinded quantification</title>
 
 <para>
@@ -3492,7 +3492,6 @@ including an operational type class context, is legal:
 <itemizedlist>
 <listitem> <para> On the left or right (see <literal>f4</literal>, for example)
 of a function arrow </para> </listitem>
-<listitem> <para> On the right of a function arrow (see <xref linkend="hoist"/>) </para> </listitem>
 <listitem> <para> As the argument of a constructor, or type of a field, in a data type declaration. For
 example, any of the <literal>f1,f2,f3,g1,g2</literal> above would be valid
 field type signatures.</para> </listitem>
@@ -4227,8 +4226,8 @@ Tim Sheard is going to expand it.)
    </para></listitem>
 
    <listitem><para>
-   Furthermore, the you can only run a function at compile time if it is imported
-   from another module <emphasis> that is not part of a mutually-recursive group of modules
+   Furthermore, you can only run a function at compile time if it is imported
+   from another module <emphasis>that is not part of a mutually-recursive group of modules
    that includes the module currently being compiled</emphasis>.  For example, when compiling module A,
    you can only run Template Haskell functions imported from B if B does not import A (directly or indirectly).
    The reason should be clear: to run B we must compile and run A, but we are currently type-checking A.
@@ -4853,7 +4852,7 @@ Because the preprocessor targets Haskell (rather than Core),
 
 <!-- ==================== BANG PATTERNS =================  -->
 
-<sect1 id="sec-bang-patterns">
+<sect1 id="bang-patterns">
 <title>Bang patterns
 <indexterm><primary>Bang patterns</primary></indexterm>
 </title>
@@ -4868,7 +4867,7 @@ than the material below.
 Bang patterns are enabled by the flag <option>-fbang-patterns</option>.
 </para>
 
-<sect2 id="sec-bang-patterns-informal">
+<sect2 id="bang-patterns-informal">
 <title>Informal description of bang patterns
 </title>
 <para>
@@ -4923,7 +4922,7 @@ is part of the syntax of <literal>let</literal> bindings.
 </sect2>
 
 
-<sect2 id="sec-bang-patterns-sem">
+<sect2 id="bang-patterns-sem">
 <title>Syntax and semantics
 </title>
 <para>
@@ -4997,7 +4996,7 @@ a module.
 
 <!-- ==================== ASSERTIONS =================  -->
 
-<sect1 id="sec-assertions">
+<sect1 id="assertions">
 <title>Assertions
 <indexterm><primary>Assertions</primary></indexterm>
 </title>