HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

ModuleAgda-2.7.0.1Haskell2010

Agda.Utils.ProfileOptions

  • 2 types
  • 6 values
  • PackageAgda-2.7.0.1
  • Exports8
  • LanguageHaskell2010
  • LicenceMIT
  • SourceProfileOptions.hs
datadata ProfileOption
#

Various things that can be measured when checking an Agda development. Turned on with the `--profile` flag, for instance `--profile=sharing` to turn on the Sharing option. Internal, Modules, and Definitions are mutually exclusive.

NOTE: Changing this data type requires bumping the interface version number in Agda.TypeChecking.Serialise.currentInterfaceVersion.

Constructors

  • Internal

    Measure time taken by various parts of the system (type checking, serialization, etc)

  • Modules

    Measure time spent on individual (Agda) modules

  • Definitions

    Measure time spent on individual (Agda) definitions

  • Sharing

    Measure things related to sharing

  • Serialize

    Collect detailed statistics about serialization

  • Constraints

    Collect statistics about constraint solving

  • Metas

    Count number of created metavariables

  • Interactive

    Measure time of interactive commands

  • Conversion

    Collect statistics about conversion checking

  • Instances

    Collect statistics about instance search

Instances9Bounded, Enum, Eq, Ord, Show, Generic, …

Parse and add a profiling option to a set of profiling options. Returns Left with a helpful error message if the option doesn't parse or if it's incompatible with existing options. The special string "all" adds all options compatible with the given set and prefering the first of incompatible options. So `--profile=all` sets Internal over Modules and Definitions, but `--profile=modules --profile=all` sets Modules and not Internal.