Document the Num superclass divergence from H98/H2010
authorIan Lynagh <igloo@earth.li>
Sat, 14 Jan 2012 13:40:58 +0000 (13:40 +0000)
committerIan Lynagh <igloo@earth.li>
Sat, 14 Jan 2012 13:46:11 +0000 (13:46 +0000)
docs/users_guide/bugs.xml

index 12ef946..9da7927 100644 (file)
@@ -150,6 +150,39 @@ main = do args &lt;- getArgs
 
       <variablelist>
        <varlistentry>
+         <term>Num superclasses</term>
+         <listitem>
+           <para>
+              The <literal>Num</literal> class does not have
+              <literal>Show</literal> or <literal>Eq</literal>
+              superclasses.
+            </para>
+
+           <para>
+              You can make code that works with both
+              Haskell98/Haskell2010 and GHC by:
+              <itemizedlist>
+                <listitem>
+                  <para>
+                    Whenever you make a <literal>Num</literal> instance
+                    of a type, also make <literal>Show</literal> and
+                    <literal>Eq</literal> instances, and
+                  </para>
+                </listitem>
+                <listitem>
+                  <para>
+                    Whenever you give a function, instance or class a
+                    <literal>Num t</literal> constraint, also give it
+                    <literal>Show t</literal> and
+                    <literal>Eq t</literal> constraints.
+                  </para>
+                </listitem>
+              </itemizedlist>
+            </para>
+           </listitem>
+         </varlistentry>
+
+       <varlistentry>
          <term>Multiply-defined array elements&mdash;not checked:</term>
          <listitem>
            <para>This code fragment should