The :set command sets two types of
    options: GHCi options, which begin with
    ‘+’, and “command-line”
    options, which begin with ‘-’.  
NOTE: at the moment, the :set command
    doesn't support any kind of quoting in its arguments: quotes will
    not be removed and cannot be used to group words together.  For
    example, :set -DFOO='BAR BAZ' will not do what
    you expect.
GHCi options may be set using :set and
      unset using :unset.
The available GHCi options are:
+r
            
            
            
          Normally, any evaluation of top-level expressions
	    (otherwise known as CAFs or Constant Applicative Forms) in
	    loaded modules is retained between evaluations.  Turning
	    on +r causes all evaluation of
	    top-level expressions to be discarded after each
	    evaluation (they are still retained
	    during a single evaluation).
This option may help if the evaluated top-level expressions are consuming large amounts of space, or if you need repeatable performance measurements.
+s
            
          Display some stats after evaluating each expression, including the elapsed time and number of bytes allocated. NOTE: the allocation figure is only accurate to the size of the storage manager's allocation area, because it is calculated at every GC. Hence, you might see values of zero if no GC has occurred.
+t
            
          Display the type of each variable bound after a
	    statement is entered at the prompt.  If the statement is a
	    single expression, then the only variable binding will be
	    for the variable
	    ‘it’.
Normal GHC command-line options may also be set using
      :set.  For example, to turn on
      -fglasgow-exts, you would say:
Prelude> :set -fglasgow-exts
Any GHC command-line option that is designated as
      dynamic (see the table in Section 4.19, “Flag reference”), may be set using
      :set.  To unset an option, you can set the
      reverse option:
Prelude> :set -fno-glasgow-exts
Section 4.19, “Flag reference” lists the reverse for each option where applicable.
Certain static options (-package,
      -I, -i, and
      -l in particular) will also work, but some may
      not take effect until the next reload.