See also the --help, --version, --numeric-version,
    and --print-libdir modes in Section 4.5, “Modes of operation”.
-n
          
        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
          
        The -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 -v option
          when reporting bugs!  Knowing that you ran the right bits in
          the right order is always the first thing we want to
          verify.
-vn
          
        To provide more control over the compiler's verbosity,
	  the -v flag takes an optional numeric
	  argument.  Specifying -v on its own is
	  equivalent to -v3, and the other levels
	  have the following meanings:
-v0Disable all non-essential messages (this is the default).
-v1Minimal verbosity: print one line per
		compilation (this is the default when
		––make or
		––interactive is on).
-v2Print the name of each compilation phase as it
		is executed. (equivalent to
		-dshow-passes).
-v3The same as -v2, except that in
                addition the full command line (if appropriate) for
                each compilation phase is also printed.
-v4The same as -v3 except that the
		intermediate program representation after each
		compilation phase is also printed (excluding
		preprocessed and C/assembly files).
-ferror-spans
          
        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.
For example:
test.hs:3:6: parse error on input `where'
becomes:
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, aNote 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).
-Hsize
        
        Set the minimum size of the heap to
          size.
          This option is equivalent to
          +RTS -H,
          see Section 4.16.3, “RTS options to control the garbage collector”.
          size
-Rghc-timing
        
        Prints a one-line summary of timing statistics for the
          GHC run.  This option is equivalent to
          +RTS -tstderr, see Section 4.16.3, “RTS options to control the garbage collector”.