<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>
<item>
The linker, which links your code with the appropriate libraries
(including the standard prelude), producing an executable program in
-the default output file named @a.out@.
+the default output file named either @a.out@ (*NIX platforms) or @main.exe@
+(Windows port.)
</enum>
You have considerable control over the compilation process. You feed
<tag>glasgow-haskell-users:</tag>
This list is for GHC users to chat among themselves. Subscribe by
-sending mail to <htmlurl name="majordomo@@dcs.gla.ac.uk"
-url="mailto:majordomo@@dcs.gla.ac.uk">, with a message body (not
+sending mail to <htmlurl name="majordomo@dcs.gla.ac.uk"
+url="mailto:majordomo@dcs.gla.ac.uk">, with a message body (not
header) like this:
<tscreen><verb>
-subscribe glasgow-haskell-users MyName <m.y.self@@bigbucks.com>
+subscribe glasgow-haskell-users MyName <m.y.self@bigbucks.com>
</verb></tscreen>
(The last bit is your all-important e-mail address, of course.)
To communicate with your fellow users, send mail to <url
-name="glasgow-haskell-users@@dcs.gla.ac.uk"
-url="mailto:glasgow-haskell-users@@dcs.gla.ac.uk">.
+name="glasgow-haskell-users@dcs.gla.ac.uk"
+url="mailto:glasgow-haskell-users@dcs.gla.ac.uk">.
To contact the list administrator, send mail to <htmlurl
-name="glasgow-haskell-users-request@@dcs.gla.ac.uk"
-url="mailto:glasgow-haskell-users-request@@dcs.gla.ac.uk">. An archive
+name="glasgow-haskell-users-request@dcs.gla.ac.uk"
+url="mailto:glasgow-haskell-users-request@dcs.gla.ac.uk">. An archive
of the list is available on the Web: <url name="glasgow-haskell-users
mailing list archive"
url="http://www.dcs.gla.ac.uk/mail-www/glasgow-haskell-users">.
who subscribe to this list will muse upon what's wrong and what you
might do about it.
-Subscribe via <htmlurl name="majordomo@@dcs.gla.ac.uk"
-url="mailto:majordomo@@dcs.gla.ac.uk"> with:
+Subscribe via <htmlurl name="majordomo@dcs.gla.ac.uk"
+url="mailto:majordomo@dcs.gla.ac.uk"> with:
<tscreen><verb>
-subscribe glasgow-haskell-bugs My Name <m.y.self@@hackers.r.us>
+subscribe glasgow-haskell-bugs My Name <m.y.self@hackers.r.us>
</verb></tscreen>
Again, you may contact the list administrator at <htmlurl
-name="glasgow-haskell-bugs-request@@dcs.gla.ac.uk"
-url="mailto:glasgow-haskell-bugs-request@@dcs.gla.ac.uk">.
+name="glasgow-haskell-bugs-request@dcs.gla.ac.uk"
+url="mailto:glasgow-haskell-bugs-request@dcs.gla.ac.uk">.
And, yes, an archive of the list is available on the Web at: : <url
name="glasgow-haskell-bugs mailing list archive"
url="http://www.dcs.gla.ac.uk/mail-www/glasgow-haskell-bugs">
</descrip>
There is also the general Haskell mailing list. Subscribe by sending
-email to <htmlurl name="majordomo@@dcs.gla.ac.uk"
-url="mailto:majordomo@@dcs.gla.ac.uk">, with the usual message body:
+email to <htmlurl name="majordomo@dcs.gla.ac.uk"
+url="mailto:majordomo@dcs.gla.ac.uk">, with the usual message body:
<tscreen><verb>
-subscribe haskell My Name <m.y.self@@fp.rules.ok.org>
+subscribe haskell My Name <m.y.self@fp.rules.ok.org>
</verb></tscreen>
Some Haskell-related discussion takes place in the Usenet newsgroup
ensuring that all the data will be displayed.
<tag>@-?@</tag> Print out usage information.
+
+<tag>@-c@</tag> Fill in the bands with colours rather than shades of grey.
+Some people find colour plots easier to read (especially when viewed on a
+non-monochrome medium ;-)
</descrip>
<sect3>@stat2resid@---residency info from GC stats
<!doctype linuxdoc system>
<article>
-<title>The Glasgow Haskell Compiler User's Guide, Version~3.00
+<title>The Glasgow Haskell Compiler User's Guide, Version~3.02
<author>The GHC Team,
Department of Computing Science,
University of Glasgow,
<nidx>standard error, saving</nidx>
Sometimes, you may cause GHC to be rather chatty on standard error;
-with @-fshow-import-specs@, for example. You can instruct GHC to
+with @-dshow-rn-trace@, for example. You can instruct GHC to
<em>append</em> this output to a particular log file with a @-odump
<blah>@<nidx>-odump <blah> option</nidx> option.
messages, otherwise known as warnings, can be generated during
compilation. By default, you get a standard set of warnings which are
generally likely to indicate bugs in your program. These are:
-@-fwarn-overlpapping-patterns@, @-fwarn-duplicate-exports@, and
+@-fwarn-overlapping-patterns@, @-fwarn-duplicate-exports@, and
@-fwarn-missing-methods@. The following flags are simple ways to
select standard ``packages'' of warnings:
Consequently, this option does <em>not</em> allow cyclic recursive
definitions.
+<tag>@-fwarn-hi-shadowing@:</tag>
+<nidx>-fwarn-hi-shadowing option</nidx>
+<nidx>interface files, shadowing</nidx>
+
+Warns you about shadowing of interface files along the supplied import path.
+For instance, assuming you invoke @ghc@ with the import path
+@-iutils:src@ and @Utils.hi@ exist in both the @utils@ and @src@
+directories, @-fwarn-hi-shadowing@ will warn you that @utils/Utils.hi@
+shadows @src/Utils.hi@.
+
<tag>@-fwarn-overlapping-patterns@:</tag>
<nidx>-fwarn-overlapping-patterns option</nidx>
<nidx>overlapping patterns, warning</nidx>
nicely.
Putting inter-dependencies of the form @Foo.o : Bar.hi@ into your
-@Makefile@ by hand is rather error-prone. Don't worry---never fear,
-@mkdependHS@ is here! (and is distributed as part of GHC) Add the
-following to your @Makefile@:
+@Makefile@ by hand is rather error-prone. @ghc@ offers you a helping
+hand with it's @-M@ option. To automatically generate
+inter-dependencies, add the following to your @Makefile@:
<tscreen><verb>
depend :
- mkdependHS -- $(HC_OPTS) -- $(SRCS)
+ $(HC) -M $(HC_OPTS) $(SRCS)
</verb></tscreen>
Now, before you start compiling, and any time you change the @imports@
in your program, do @make depend@ before you do @make cool_pgm@.
-@mkdependHS@ will append the needed dependencies to your @Makefile@.
-@mkdependHS@ is fully describe in Section <ref name="Makefile
+@ghc -M@ will then append the needed dependencies to your @Makefile@.
+
+The dependencies are actually generated by another utility,
+@mkdependHS@, which @ghc -M@ just calls upon. @mkdependHS@ is
+distributed with GHC and is documented in Section <ref name="Makefile
dependencies in Haskell: using mkdependHS" id="mkdependHS">.
A few caveats about this simple scheme: