HORIZON HASKELLDocslts/ghc-9.14.x7a6c33e2026-10-12Search packagesCtrl K
Theme: |

GHC 9.14.1 · lts/ghc-9.14.x · 7a6c33e · 2026-10-12

  • Packageghc-9.14.1
  • Exports31
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceExecute.hs
newtypenewtype HookedUse a
#

Constructors

Instances7Monad, Functor, Applicative, MonadIO, MonadCatch, MonadThrow, …

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?)