Minor improvement to user guide
authorSimon Peyton Jones <simonpj@microsoft.com>
Mon, 3 Aug 2015 10:07:08 +0000 (11:07 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Mon, 3 Aug 2015 10:07:42 +0000 (11:07 +0100)
Specify that the type variables for a class/instance decl scope
over the body even without a 'forall'.

Provoked by Trac #10722.

docs/users_guide/glasgow_exts.xml

index e3368f2..b6c01d6 100644 (file)
@@ -8820,9 +8820,8 @@ consider how one would parse this:
 <para>
 
 The type variables in the head of a <literal>class</literal> or <literal>instance</literal> declaration
-scope over the methods defined in the <literal>where</literal> part.  For example:
-
-
+scope over the methods defined in the <literal>where</literal> part.  You do not even need
+an explicit <literal>forall</literal>.  For example:
 <programlisting>
   class C a where
     op :: [a] -> a
@@ -8831,6 +8830,9 @@ scope over the methods defined in the <literal>where</literal> part.  For exampl
                 ys = reverse xs
             in
             head ys
+
+  instance C b => C [b] where
+    op xs = reverse (head (xs :: [[b]]))
 </programlisting>
 </para>
 </sect3>