From 0877e14e3b4accd706c80b5087f1b8e5a08bec59 Mon Sep 17 00:00:00 2001
From: Ian Lynagh <igloo@earth.li>
Date: Sat, 14 Jan 2012 13:40:58 +0000
Subject: [PATCH] Document the Num superclass divergence from H98/H2010

---
 docs/users_guide/bugs.xml | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/docs/users_guide/bugs.xml b/docs/users_guide/bugs.xml
index 12ef9460da3f..9da7927bc9f3 100644
--- a/docs/users_guide/bugs.xml
+++ b/docs/users_guide/bugs.xml
@@ -149,6 +149,39 @@ main = do args &lt;- getArgs
       <title>Numbers, basic types, and built-in classes</title>
 
       <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>
-- 
GitLab