ghc-9.2.4: The GHC API
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 #

Instances

Instances details
type DsForeignsHook # 
Instance details

Defined in GHC.HsToCore.Types

dsForeignsHook :: Hooks -> Maybe DsForeignsHook #

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