Document the new -X flags in the flag reference
[ghc-hetmet.git] / docs / users_guide / flags.xml
index 9fb9341..4ebcc96 100644 (file)
          </thead>
          <tbody>
            <row>
-             <entry><option>-keep-hc-file</option></entry>
+             <entry><option>-keep-hc-file</option> or
+                 <option>-keep-hc-files</option></entry>
              <entry>retain intermediate <literal>.hc</literal> files</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-keep-s-file</option></entry>
+             <entry><option>-keep-s-file</option> or
+                 <option>-keep-s-files</option></entry>
              <entry>retain intermediate <literal>.s</literal> files</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-keep-raw-s-file</option></entry>
+             <entry><option>-keep-raw-s-file</option> or
+                 <option>-keep-raw-s-files</option></entry>
              <entry>retain intermediate <literal>.raw_s</literal> files</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-short-ghci-banner</option></entry>
-             <entry>Display a one-line banner at GHCi startup</entry>
-             <entry>dynamic</entry>
-             <entry>-</entry>
-           </row>
-           <row>
-             <entry><option>-long-ghci-banner</option></entry>
-             <entry>Display a full banner at GHCi startup</entry>
-             <entry>dynamic</entry>
-             <entry>-</entry>
-           </row>
-           <row>
              <entry><option>-fdebugging</option></entry>
              <entry>Generate bytecode enabled for debugging</entry>
              <entry>dynamic</entry>
            </row>
            <row>
              <entry><option>-fcontext-stack=N</option><replaceable>n</replaceable></entry>
-             <entry>set the <link linkend="undecidable-instances">limit for context reduction</link></entry>
+             <entry>set the <link linkend="undecidable-instances">limit for context reduction</link>. Default is 20.</entry>
              <entry>dynamic</entry>
-             <entry><option>20</option></entry>
+             <entry></entry>
            </row>
            <row>
              <entry><option>-X=Arrows</option></entry>
              <entry><option>-X=NoArrows</option></entry>
            </row>
            <row>
+             <entry><option>-fdisambiguate-record-fields</option></entry>
+             <entry>Enable <link linkend="disambiguate-fields">record 
+             field disambiguation</link></entry>
+             <entry>dynamic</entry>
+             <entry><option>-fno-disambiguate-record-fields</option></entry>
+           </row>
+           <row>
              <entry><option>-X=FFI</option> or <option>-X=ForeignFunctionInterface</option></entry>
              <entry>Enable <link linkend="ffi">foreign function interface</link> (implied by
              <option>-fglasgow-exts</option>)</entry>
              <entry><option>-X=MonoPatBinds</option></entry>
            </row>
            <row>
+             <entry><option>-X=RelaxedPolyRed</option></entry>
+             <entry>Relaxed checking for <link linkend="typing-binds">mutually-recursive polymorphic functions</link></entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=NoRelaxedPolyRec</option></entry>
+           </row>
+           <row>
              <entry><option>-X=ExtendedDefaultRules</option></entry>
              <entry>Use GHCi's <link linkend="extended-default-rules">extended default rules</link> in a normal module</entry>
              <entry>dynamic</entry>
              <entry>Enable <link linkend="overloaded-strings">overloaded string literals</link>.
              </entry>
              <entry>dynamic</entry>
-             <entry><option>-X=OverloadedStrings</option></entry>
+             <entry><option>-X=NoOverloadedStrings</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=GADTs</option></entry>
+             <entry>Enable <link linkend="gadts">generalised algebraic data types</link>.
+             </entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=NoGADTs</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=TypeFamilies</option></entry>
+             <entry>Enable <link linkend="type-families">type families</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=NoTypeFamilies</option></entry>
            </row>
            <row>
              <entry><option>-X=ScopedTypeVariables</option></entry>
              <entry><option>-X=NoTH</option></entry>
            </row>
            <row>
-             <entry><option>-X=TypeFamilies</option></entry>
-             <entry>Enable <link linkend="type-families">type families</link>.</entry>
-             <entry>dynamic</entry>
-             <entry><option>-X=NoTypeFamilies</option></entry>
-           </row>
-           <row>
              <entry><option>-X=BangPtterns</option></entry>
              <entry>Enable <link linkend="bang-patterns">bang patterns</link>.</entry>
              <entry>dynamic</entry>
              <entry><option>-X=NoBangPatterns</option></entry>
            </row>
+           <row>
+             <entry><option>-X=CPP</option></entry>
+             <entry>Enable the <link linkend="c-pre-processor">C preprocessor</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=CPP</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=PatternGuards</option></entry>
+             <entry>Enable <link linkend="pattern-guards">pattern guards</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=PatternGuards</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=UnicodeSyntax</option></entry>
+             <entry>Enable unicode syntax.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=UnicodeSyntax</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=MagicHash</option></entry>
+             <entry>Enable the &ldquo;magic hash&rdquo;.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=MagicHash</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=PolymorphicComponents</option></entry>
+             <entry>Enable polymorphic components.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=PolymorphicComponents</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=ExistentialQuantification</option></entry>
+             <entry>Enable <link linkend="existential-quantification">existential quantification</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=ExistentialQuantification</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=KindSignatures</option></entry>
+             <entry>Enable kind signatures.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=KindSignatures</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=PatternSignatures</option></entry>
+             <entry>Enable <link linkend="pattern-type-sigs">pattern type signatures</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=PatternSignatures</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=EmptyDataDecls</option></entry>
+             <entry>Enable empty data declarations.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=EmptyDataDecls</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=ParallelListComp</option></entry>
+             <entry>Enable <link linkend="parallel-list-comprehensions">parallel list comprehensions</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=ParallelListComp</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=UnliftedFFITypes</option></entry>
+             <entry>Enable unlifted FFI types.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=UnliftedFFITypes</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=PartiallyAppliedClosedTypeSynonyms</option></entry>
+             <entry>Enable partially applied type synonyms.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=PartiallyAppliedClosedTypeSynonyms</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=Rank2Types</option></entry>
+             <entry>Enable rank-2 types.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=Rank2Types</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=RankNTypes</option></entry>
+             <entry>Enable rank-N types.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=RankNTypes</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=TypeOperators</option></entry>
+             <entry>Enable type operators.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=TypeOperators</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=RecursiveDo</option></entry>
+             <entry>Enable <link linkend="mdo-notation">recursive do (mdo) notation</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=RecursiveDo</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=Parr</option></entry>
+             <entry>Enable parallel arrays.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=Parr</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=RecordWildCards</option></entry>
+             <entry>Enable record wildcards.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=RecordWildCards</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=RecordPuns</option></entry>
+             <entry>Enable record puns.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=RecordPuns</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=DisambiguateRecordFields</option></entry>
+             <entry>Enable the <link linkend="disambiguate-fields">disambiguate fields.</link> exception</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=DisambiguateRecordFields</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=UnboxedTuples</option></entry>
+             <entry>Enable <link linkend="unboxed-tuples">unboxed tuples</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=UnboxedTuples</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=StandaloneDeriving</option></entry>
+             <entry>Enable standalone deriving.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=StandaloneDeriving</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=DeriveDataTypeable</option></entry>
+             <entry>Enable deriving for the Data and Typeable classes.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=DeriveDataTypeable</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=TypeSynonymInstances</option></entry>
+             <entry>Enable <link linkend="type-synonyms">type synonyms</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=TypeSynonymInstances</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=FlexibleContexts</option></entry>
+             <entry>Enable flexible contexts.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=FlexibleContexts</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=FlexibleInstances</option></entry>
+             <entry>Enable flexible instances.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=FlexibleInstances</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=ConstrainedClassMethods</option></entry>
+             <entry>Enable constrained class methods.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=ConstrainedClassMethods</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=MultiParamTypeClasses</option></entry>
+             <entry>Enable <link linkend="multi-param-type-classes">multi parameter type classes</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=MultiParamTypeClasses</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=FunctionalDependencies</option></entry>
+             <entry>Enable <link linkend="functional-dependencies">functional dependencies</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=FunctionalDependencies</option></entry>
+           </row>
+           <row>
+             <entry><option>-X=GeneralizedNewtypeDeriving</option></entry>
+             <entry>Enable <link linkend="newtype-deriving">newtype deriving</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-X=GeneralizedNewtypeDeriving</option></entry>
+           </row>
          </tbody>
        </tgroup>
       </informaltable>