Cause GHC to spew a long usage message to standard output and then exit.
Does a dry-run, i.e. GHC goes through all the motions of compiling as normal, but does not actually run any external commands.
-v option makes GHC
verbose: it reports its version number
and shows (on stderr) exactly how it invokes each phase of
the compilation system. Moreover, it passes the
-v flag to most phases; each reports its
version number (and possibly some other information).
Please, oh please, use the
when reporting bugs! Knowing that you ran the right bits in
the right order is always the first thing we want to
To provide more control over the compiler's verbosity,
-v flag takes an optional numeric
-v on its own is
-v3, and the other levels
have the following meanings:
Disable all non-essential messages (this is the default).
Minimal verbosity: print one line per
compilation (this is the default when
––interactive is on).
Print the name of each compilation phase as it
is executed. (equivalent to
The same as
-v2, except that in
addition the full command line (if appropriate) for
each compilation phase is also printed.
The same as
-v3 except that the
intermediate program representation after each
compilation phase is also printed (excluding
preprocessed and C/assembly files).
Print a one-line string including GHC's version number.
Print GHC's numeric version number only.
Print the path to GHC's library directory. This is
the top of the directory tree containing GHC's libraries,
interfaces, and include files (usually something like
/usr/local/lib/ghc-5.04 on Unix). This
is the value of
$libdirin the package configuration file (see Section 4.8, “
Causes GHC to emit the full source span of the syntactic entity relating to an error message. Normally, GHC emits the source location of the start of the syntactic entity only.
test.hs:3:6: parse error on input `where'
test296.hs:3:6-10: parse error on input `where'
And multi-line spans are possible too:
test.hs:(5,4)-(6,7): Conflicting definitions for `a' Bound at: test.hs:5:4 test.hs:6:7 In the binding group for: a, b, a
Note that line numbers start counting at one, but column numbers start at zero. This choice was made to follow existing convention (i.e. this is how Emacs does it).
Set the minimum size of the heap to
This option is equivalent to
see Section 4.14.3, “RTS options to control the garbage collector”.
Prints a one-line summary of timing statistics for the
GHC run. This option is equivalent to
+RTS -tstderr, see Section 4.14.3, “RTS options to control the garbage collector”.