<tag>@-hi@:</tag>
<nidx>-hi option</nidx>
-<em>Do</em> generate an interface file. This would normally be used in
-conjunction with @-noC@, which turns off interface generation;
-thus: @-noC -hi@.
+<em>Do</em> generate an interface file (on @stdout@.) This would
+normally be used in conjunction with @-noC@, which turns off interface
+generation; thus: @-noC -hi@.
+
+<tag>@-hi-with-<section>@:</tag>
+<nidx>-hi-with option</nidx>
+Generate just the specified section of an interface file. In case you're
+only interested in a subset of what @-hi@ outputs, @-hi-with-<section>@
+is just the ticket. For instance
+
+<tscreen> <verb>
+-noC -hi-with-declarations -hi-with-exports
+</verb> </tscreen>
+
+will output the sections containing the exports and the
+declarations. Legal sections are: @declarations@, @exports@,
+@instances@, @instance_modules@, @usages@, @fixities@, and
+@interface@.
<tag>@-dshow-passes@:</tag>
<nidx>-dshow-passes option</nidx>
file).
%----------------------------------------------------------------------
-<sect2>How to compile mutually recursive modules
-<p>
-<nidx>module system, recursion</nidx>
-
-Currently, the compiler does not have proper support for dealing with
-mutually recursive modules:
-
-<tscreen><verb>
-module A where
-
-import B
-
-newtype A = A Int
-
-f :: B -> A
-f (B x) = A x
---------
-module B where
-
-import A
-
-data B = B !Int
-
-g :: A -> B
-g (A x) = B x
-</verb></tscreen>
-
-When compiling either module A and B, the compiler will try (in vain)
-to look for the interface file of the other. So, to get mutually
-recursive modules off the ground, you need to hand write an interface
-file for A or B, so as to break the loop. For the example at hand, the
-boot interface file for A would like the following:
-
-<tscreen><verb>
-_interface_ A 1
-_exports_
-A A(A) f;
-_declarations_
-1 newtype A = A PrelBase.Int ;
-1 f _:_ B.B -> A.A ;;
-</verb></tscreen>
-
-To make sure you get the syntax right, tailoring an existing interface
-file is a Good Idea.
-
-<bf>Note:</bf> This is all a temporary solution, a version of the
-compiler that handles mutually recursive properly without the manual
-construction of interface file, is in the works.