Skip to content

Documentation for -drule-check and -dinline-check is misleading

Summary

Location of documentation issue: GHC user's guide

The documentation for the -drule-check and -dinline-spec flags says this:

-drule-check=⟨str⟩

This flag is useful for debugging why a rule you expect to be firing isn’t.

Rules are filtered by the user provided string, a rule is kept if a prefix of its name matches the string. The pass then checks whether any of these rules could apply to the program but which didn’t fire for some reason. For example, specifying -drule-check=SPEC will check whether there are any applications which might be subject to a rule created by specialisation.

-dinline-check=⟨str⟩

...

This is incorrect because e.g. -drule-check=SPEC is invalid. The correct syntax is -drule-check SPEC with a space:

$ ghc -drule-check=SPEC
ghc: unrecognised flag: -drule-check=SPEC
did you mean one of:
  -drule-check

Usage: For basic information, try the `--help' option.
$ ghc -drule-check SPEC
ghc: no input files
Usage: For basic information, try the `--help' option.

Proposed improvements or changes

Replace -drule-check= and -dinline-check= with -drule-check and -dinline-check .

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