<entry><option>-XNoTypeOperators</option></entry>
</row>
<row>
+ <entry><option>-XDoRec</option></entry>
+ <entry>Enable <link linkend="recursive-do-notation">recursive do notation</link>.</entry>
+ <entry>dynamic</entry>
+ <entry><option>-XNoDoRec</option></entry>
+ </row>
+ <row>
<entry><option>-XRecursiveDo</option></entry>
- <entry>Enable <link linkend="mdo-notation">recursive do (mdo) notation</link>.</entry>
+ <entry>Enable <link linkend="mdo-notation">recursive do (mdo) notation</link>. This is deprecated; please use <link linkend="recursive-do-notation">recursive do notation</link> instead.</entry>
<entry>dynamic</entry>
<entry><option>-XNoRecursiveDo</option></entry>
</row>
<!-- ===================== Recursive do-notation =================== -->
-<sect2 id="mdo-notation">
+<sect2 id="recursive-do-notation">
<title>The recursive do-notation
</title>
</para>
</sect3>
-<sect3> <title> Mdo-notation (deprecated) </title>
+<sect3 id="mdo-notation"> <title> Mdo-notation (deprecated) </title>
<para> GHC used to support the flag <option>-XRecursiveDo</option>,
which enabled the keyword <literal>mdo</literal>, precisely as described in
For example, in a <literal>let</literal>, it applies in the right-hand
sides of other <literal>let</literal>-bindings and the body of the
<literal>let</literal>C. Or, in recursive <literal>do</literal>
-expressions (<xref linkend="mdo-notation"/>), the local fixity
+expressions (<xref linkend="recursive-do-notation"/>), the local fixity
declarations of a <literal>let</literal> statement scope over other
statements in the group, just as the bound name does.
</para>