+ <para>Generally speaking, all the language options are introduced by "<option>-X</option>" or "<option>-X=</option>";
+ e.g. <option>-X=TemplateHaskell</option>. Before anything else is done, the string following
+ "<option>-X</option>" is normalised by removing hyphens and converting
+ to lower case. So <option>-X=TemplateHaskell</option>, <option>-XTemplateHaskell</option>, and
+ <option>-Xtemplate-haskell</option> are all equivalent.
+ </para>
+
+ <para> All the language options can be turned off by using the prefix "<option>No</option>";
+ e.g. "<option>-X=NoTemplateHaskell</option>".</para>
+
+ <para> Language options recognised by Cabal can also be enabled using the <literal>LANGUAGE</literal> pragma,
+ thus <literal>{-# LANGUAGE TemplateHaskell #-}</literal> (see <xref linkend="language-pragma"/>>). </para>
+
+ <para> All the language options can be introduced with "<option>-f</option>" as well as "<option>-X</option>",
+ but this is a deprecated feature for backward compatibility. Use the "<option>-X</option>"
+ or LANGUAGE-pragma form.</para>
+
+ <para>Turning on an option that enables special syntax