ghc-9.14.0.20251128: The GHC API
Safe HaskellNone
LanguageGHC2021

GHC.Driver.Hooks

Synopsis

Documentation

data Hooks #

class HasHooks (m :: Type -> Type) 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 #

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