summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsimonmar <unknown>2001-03-15 12:07:54 +0000
committersimonmar <unknown>2001-03-15 12:07:54 +0000
commit33e03e0ba6cc2cbaf17ae80ba4f9b2500b648232 (patch)
tree5e6196a83873ed6f4a3fe732e360cb9ccf18ac2d
parentcf2aab8a7cb0b74ec23453639503dd8c6f8e1353 (diff)
downloadhaskell-33e03e0ba6cc2cbaf17ae80ba4f9b2500b648232.tar.gz
[project @ 2001-03-15 12:07:54 by simonmar]
fix up markup
-rw-r--r--ghc/docs/users_guide/glasgow_exts.sgml248
1 files changed, 110 insertions, 138 deletions
diff --git a/ghc/docs/users_guide/glasgow_exts.sgml b/ghc/docs/users_guide/glasgow_exts.sgml
index d71941ea8b..779332bfb1 100644
--- a/ghc/docs/users_guide/glasgow_exts.sgml
+++ b/ghc/docs/users_guide/glasgow_exts.sgml
@@ -19,141 +19,122 @@ performance because of the implementation costs of Haskell's
Executive summary of our extensions:
</Para>
-<Para>
-<VariableList>
-
-<VarListEntry>
-<Term>Unboxed types and primitive operations:</Term>
-<ListItem>
-<Para>
-You can get right down to the raw machine types and operations;
-included in this are &ldquo;primitive arrays&rdquo; (direct access to Big Wads
-of Bytes). Please see <XRef LinkEnd="glasgow-unboxed"> and following.
-</Para>
-</ListItem>
-</VarListEntry>
-
-<VarListEntry>
-<Term>Type system extensions:</Term>
-<ListItem>
-<Para> GHC supports a large number of extensions to Haskell's type
-system. Specifically:
-</Para>
-
-<VariableList>
-<VarListEntry>
-<Term>Multi-parameter type classes:</Term>
-<ListItem>
-<Para>
-<XRef LinkEnd="multi-param-type-classes">
-</Para>
-</ListItem>
-</VarListEntry>
-
-<VarListEntry>
-<Term>Functional dependencies:</Term>
-<ListItem>
-<Para>
-<XRef LinkEnd="functional-dependencies">
-</Para>
-</ListItem>
-</VarListEntry>
+ <variablelist>
-<VarListEntry>
-<Term>Implicit parameters:</Term>
-<ListItem>
-<Para>
-<XRef LinkEnd="implicit parameters">
-</Para>
-</ListItem>
-</VarListEntry>
-
-<VarListEntry>
-<Term>Local universal quantification:</Term>
-<ListItem>
-<Para>
-<XRef LinkEnd="universal-quantification">
-</Para>
-</ListItem>
-</VarListEntry>
-
-<VarListEntry>
-<Term>Extistentially quantification in data types:</Term>
-<ListItem>
-<Para>
-<XRef LinkEnd="existential-quantification">
-</Para>
-</ListItem>
-</VarListEntry>
-
-<VarListEntry>
-<Term>Scoped type variables:</Term>
-<ListItem>
-<Para>
-Scoped type variables enable the programmer to supply type signatures
-for some nested declarations, where this would not be legal in Haskell
-98. Details in <XRef LinkEnd="scoped-type-variables">.
-</Para>
-</ListItem>
-</VarListEntry>
-</VarListEntry>
+ <varlistentry>
+ <term>Unboxed types and primitive operations:</Term>
+ <listitem>
+ <para>You can get right down to the raw machine types and
+ operations; included in this are &ldquo;primitive
+ arrays&rdquo; (direct access to Big Wads of Bytes). Please
+ see <XRef LinkEnd="glasgow-unboxed"> and following.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Type system extensions:</term>
+ <listitem>
+ <Para> GHC supports a large number of extensions to Haskell's
+ type system. Specifically:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>Multi-parameter type classes:</term>
+ <listitem>
+ <para><XRef LinkEnd="multi-param-type-classes"></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Functional dependencies:</term>
+ <listitem>
+ <para><XRef LinkEnd="functional-dependencies"></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Implicit parameters:</term>
+ <listitem>
+ <para><XRef LinkEnd="implicit-parameters"></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Local universal quantification:</term>
+ <listitem>
+ <para><XRef LinkEnd="universal-quantification"></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Extistentially quantification in data types:</term>
+ <listitem>
+ <para><XRef LinkEnd="existential-quantification"></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Scoped type variables:</term>
+ <listitem>
+ <para>Scoped type variables enable the programmer to
+ supply type signatures for some nested declarations,
+ where this would not be legal in Haskell 98. Details in
+ <XRef LinkEnd="scoped-type-variables">.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
-<VarListEntry>
-<Term>Pattern guards</Term>
-<ListItem>
-<Para>
-Instead of being a boolean expression, a guard is a list of qualifiers, exactly as in a list comprehension. See <XRef LinkEnd="pattern-guards">.
-</Para>
-</ListItem>
-</VarListEntry>
+ <varlistentry>
+ <term>Pattern guards</term>
+ <listitem>
+ <para>Instead of being a boolean expression, a guard is a list
+ of qualifiers, exactly as in a list comprehension. See <XRef
+ LinkEnd="pattern-guards">.</para>
+ </listitem>
+ </varlistentry>
-<VarListEntry>
-<Term>Foreign calling:</Term>
-<ListItem>
-<Para>
-Just what it sounds like. We provide <Emphasis>lots</Emphasis> of rope that you
-can dangle around your neck. Please see <XRef LinkEnd="ffi">.
-</Para>
-</ListItem>
-</VarListEntry>
+ <varlistentry>
+ <term>Foreign calling:</term>
+ <listitem>
+ <para>Just what it sounds like. We provide
+ <Emphasis>lots</Emphasis> of rope that you can dangle around
+ your neck. Please see <XRef LinkEnd="ffi">.</para>
+ </listitem>
+ </varlistentry>
-<VarListEntry>
-<Term>Pragmas</Term>
-<ListItem>
-<Para>
-Pragmas are special instructions to the compiler placed in the source
-file. The pragmas GHC supports are described in <XRef LinkEnd="pragmas">.
-</Para>
-</ListItem>
-</VarListEntry>
+ <varlistentry>
+ <term>Pragmas</term>
+ <listitem>
+ <para>Pragmas are special instructions to the compiler placed
+ in the source file. The pragmas GHC supports are described in
+ <XRef LinkEnd="pragmas">.</para>
+ </listitem>
+ </varlistentry>
-<VarListEntry>
-<Term>Rewrite rules:</Term>
-<ListItem>
-<Para>
-The programmer can specify rewrite rules as part of the source program
-(in a pragma). GHC applies these rewrite rules wherever it can.
-Details in <XRef LinkEnd="rewrite-rules">.
-</Para>
-</ListItem>
-</VarListEntry>
+ <varlistentry>
+ <term>Rewrite rules:</term>
+ <listitem>
+ <para>The programmer can specify rewrite rules as part of the
+ source program (in a pragma). GHC applies these rewrite rules
+ wherever it can. Details in <XRef
+ LinkEnd="rewrite-rules">.</para>
+ </listitem>
+ </varlistentry>
-<VarListEntry>
-<Term>Generic classes:</Term>
-<ListItem>
-<Para>
-Generic class declarations allow you to define a class
-whose methods say how to work over an arbitrary data type.
-Then it's really easy to make any new type into an instance of
-the class. This generalises the rather ad-hoc "deriving" feature
-of Haskell 98.
-Details in <XRef LinkEnd="generic-classes">.
-</Para>
-</ListItem>
-</VarListEntry>
-</VariableList>
-</Para>
+ <varlistentry>
+ <term>Generic classes:</term>
+ <listitem>
+ <para>Generic class declarations allow you to define a class
+ whose methods say how to work over an arbitrary data type.
+ Then it's really easy to make any new type into an instance of
+ the class. This generalises the rather ad-hoc "deriving"
+ feature of Haskell 98. Details in <XRef
+ LinkEnd="generic-classes">.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
<Para>
Before you get too carried away working at the lowest level (e.g.,
@@ -214,15 +195,6 @@ program), you may wish to check if there are libraries that provide a
</varlistentry>
<varlistentry>
- <term><option>-fignore-asserts</option>:</term>
- <indexterm><primary><option>-fignore-asserts</option></primary></indexterm>
- <listitem>
- <para>See <XRef LinkEnd="sec-assertions">. Only relevant if
- you also use <option>-fglasgow-exts</option>.</Para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
<term><option>-finline-phase</option></term>
<indexterm><primary><option>-finline-phase</option></primary></indexterm>
<listitem>
@@ -2333,7 +2305,7 @@ declaration. For example, both these declarations are illegal:
Reason: exactly which implicit parameter you pick up depends on exactly where
you invoke a function. But the ``invocation'' of instance declarations is done
behind the scenes by the compiler, so it's hard to figure out exactly where it is done.
-Easiest thing is to outlaw the offending types.
+Easiest thing is to outlaw the offending types.</para>
</ListItem>
</ItemizedList>