HORIZON HASKELLDocslts/ghc-10.0.xfc4e5982026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 10.0.0.20260917 · lts/ghc-10.0.x · fc4e598 · 2026-10-11

Moduleghc-10.0.0.20260917GHC2024

GHC.Driver.Pipeline.Execute

  • 1 type
  • 30 values
newtypenewtype HookedUse a
#

Constructors

Instances8Monad, Functor, Applicative, MonadIO, MonadCatch, MonadMask, …
valuerunPhase :: TPhase out -> IO out
#

Default interpretation of each phase, in terms of IO.

Computes the next output filename for something in the compilation pipeline. This is controlled by several variables:

  1. Phase: the last phase to be run (e.g. stopPhase). This is used to tell if we're in the last phase or not, because in that case flags like -o may be important.

  2. PipelineOutput: is this intended to be a Temporary or Persistent build output? Temporary files just go in a fresh temporary name.

  3. String: what was the basename of the original input file?

  4. DynFlags: the obvious thing

  5. Phase: the phase we want to determine the output filename of.

  6. Maybe ModLocation: the ModLocation of the module we're compiling; this can be used to override the default output of an object file. (TODO: do we actually need this?)