ghc-lib-parser-9.8.1.20231009: The GHC API, decoupled from GHC versions
Safe HaskellSafe-Inferred
LanguageHaskell2010

GHC.Driver.Hooks

Synopsis

Documentation

data Hooks #

class HasHooks m where #

Methods

getHooks :: m Hooks #

Instances

Instances details
ContainsHooks env => HasHooks (IOEnv env) # 
Instance details

Defined in GHC.Data.IOEnv

Methods

getHooks :: IOEnv env Hooks #

class ContainsHooks a where #

Methods

extractHooks :: a -> Hooks #

Instances

Instances details
ContainsHooks (Env gbl lcl) # 
Instance details

Defined in GHC.Tc.Types

Methods

extractHooks :: Env gbl lcl -> Hooks #

emptyHooks :: Hooks #

Hooks can be used by GHC API clients to replace parts of the compiler pipeline. If a hook is not installed, GHC uses the default built-in behaviour

type family DsForeignsHook :: Type #

dsForeignsHook :: Hooks -> Maybe DsForeignsHook #

Actual type: Maybe ([LForeignDecl GhcTc] -> DsM (ForeignStubs, OrdList (Id, CoreExpr)))

createIservProcessHook :: Hooks -> Maybe (CreateProcess -> IO ProcessHandle) #