Skip to content

Improve flag description in the user guide

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 (closed))

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.

Edited by Jan Stolarek
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information