[GHC] #9358: Improve flag description in the user guide

GHC ghc-devs at haskell.org
Thu Nov 6 12:15:27 UTC 2014


#9358: Improve flag description in the user guide
-------------------------------------+-------------------------------------
              Reporter:  jstolarek   |            Owner:
                  Type:  bug         |           Status:  new
              Priority:  normal      |        Milestone:  7.10.1
             Component:              |          Version:  7.8.3
  Documentation                      |         Keywords:
            Resolution:              |     Architecture:  Unknown/Multiple
      Operating System:              |       Difficulty:  Easy (less than 1
  Unknown/Multiple                   |  hour)
       Type of failure:              |       Blocked By:
  Documentation bug                  |  Related Tickets:  #1880
             Test Case:              |
              Blocking:              |
Differential Revisions:  Phab:D444   |
-------------------------------------+-------------------------------------
Changes (by jstolarek):

 * owner:  jstolarek =>
 * status:  closed => new
 * resolution:  fixed =>


Old description:

> Sections 4.20 (Flag reference) and 4.10.2 (-f*: platform-independent
> flags) of the User Guide could use some updating:
>
>   - `-floopification` is mentioned in 4.20 but not in 4.10.2 (which,
> sadly, is my fault),
>   - Section 4.10.2 says: "These flags turn on and off individual
> optimisations. They are normally set via the -O options (...) The flags
> below are off by default, except where noted below." Does the last
> sentence mean they are on by default for `-O` or that they are enabled
> even with `-O0` (which is the default optimisation level)?
>   - What is the default value of `-fmax-simplifier-iterations`?
>   - 4.20 mentions `-fmax-simplifier-iterations`, `-fmax-relevant-
> bindings` and `-fmax-worker-args` but only the first one is described in
> 4.10.2
>
> I suspect there are more inconsistencies.

New description:

 These flags are currently completely missing from the User's Guide:

   -fbuilding-cabal-package
   -fflat-cache
   -fhpc-no-auto
   -fkill-absence
   -fkill-one-shot
   -fsimple-list-literals
   -fspecialise-aggressively
   -fuse-rpaths
   -fspec-constr-recursive
   -ffloat-lam-args
   -ffloat-all-lams

 If you can provide description for any of these flags please edit
 flags.xml and using.xml.

 Following flags are listed in Flag Reference section (4.19) with a brief
 one sentence description but they don't have a detailed description in
 section 4.10 (using.xml):

   -fcall-arity
   -funfolding-fun-discount
   -funfolding-dict-discount
   -funfolding-keeness-factor
   -frule-check (see #9776)

 Following flags have a detailed description but it is confusing:

   -fdo-eta-reduction
   -fdo-lambda-eta-expansion

 Following flags have a description but it is too brief. We should have
 more
 details:

   -fdicts-cheap
   -fdicts-strict
   -fdmd-tx-dict-sel
   -fmax-inline-memcpy-insns
   -fmax-inline-memset-insns
   -fmax-worker-args
   -fno-opt-coercion
   -fno-pre-inlining
   -fsimplifier-phases
   -fspec-constr-threshold
   -fspec-constr-count
   -fstrictness-before

 For these flags Flag Reference section provides the description of their
 -fno-* version:

   -fembed-manifest
   -fgen-manifest
   -fghci-history
   -fghci-sandbox
   -fpre-inlining
   -fprint-bind-contents
   -fprof-count-entries
   -fshared-implib

 This seems to go against our convention of describing the flags. Should we
 revert to desribing their normal version (ie. ones that enable something,
 not disable)?

 We should also make sure that documentation of remaining flags is up to
 date, especially the -d* ones.

--

Comment:

 After some thought perhaps it's not a good idea to close this ticket. I'm
 changing the description to contain a list of flags to document and
 reopening.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9358#comment:22>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list