ghc-8.4.4: The GHC API

Safe HaskellNone
LanguageHaskell2010

ForeignCall

Synopsis

Documentation

newtype ForeignCall Source #

Constructors

CCall CCallSpec 
Instances
Eq ForeignCall Source # 
Instance details

Defined in ForeignCall

Outputable ForeignCall Source # 
Instance details

Defined in ForeignCall

Binary ForeignCall Source # 
Instance details

Defined in ForeignCall

data Safety Source #

Instances
Eq Safety Source # 
Instance details

Defined in ForeignCall

Methods

(==) :: Safety -> Safety -> Bool #

(/=) :: Safety -> Safety -> Bool #

Data Safety Source # 
Instance details

Defined in ForeignCall

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Safety -> c Safety Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Safety Source #

toConstr :: Safety -> Constr Source #

dataTypeOf :: Safety -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Safety) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Safety) Source #

gmapT :: (forall b. Data b => b -> b) -> Safety -> Safety Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Safety -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Safety -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Safety -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Safety -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Safety -> m Safety Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Safety -> m Safety Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Safety -> m Safety Source #

Show Safety Source # 
Instance details

Defined in ForeignCall

Outputable Safety Source # 
Instance details

Defined in ForeignCall

Binary Safety Source # 
Instance details

Defined in ForeignCall

data CExportSpec Source #

Instances
Data CExportSpec Source # 
Instance details

Defined in ForeignCall

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CExportSpec -> c CExportSpec Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CExportSpec Source #

toConstr :: CExportSpec -> Constr Source #

dataTypeOf :: CExportSpec -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CExportSpec) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CExportSpec) Source #

gmapT :: (forall b. Data b => b -> b) -> CExportSpec -> CExportSpec Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CExportSpec -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CExportSpec -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CExportSpec -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CExportSpec -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CExportSpec -> m CExportSpec Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CExportSpec -> m CExportSpec Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CExportSpec -> m CExportSpec Source #

Outputable CExportSpec Source # 
Instance details

Defined in ForeignCall

Binary CExportSpec Source # 
Instance details

Defined in ForeignCall

data CCallSpec Source #

Instances
Eq CCallSpec Source # 
Instance details

Defined in ForeignCall

Outputable CCallSpec Source # 
Instance details

Defined in ForeignCall

Binary CCallSpec Source # 
Instance details

Defined in ForeignCall

data CCallTarget Source #

How to call a particular function in C-land.

Instances
Eq CCallTarget Source # 
Instance details

Defined in ForeignCall

Data CCallTarget Source # 
Instance details

Defined in ForeignCall

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CCallTarget -> c CCallTarget Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CCallTarget Source #

toConstr :: CCallTarget -> Constr Source #

dataTypeOf :: CCallTarget -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CCallTarget) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CCallTarget) Source #

gmapT :: (forall b. Data b => b -> b) -> CCallTarget -> CCallTarget Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CCallTarget -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CCallTarget -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CCallTarget -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CCallTarget -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CCallTarget -> m CCallTarget Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CCallTarget -> m CCallTarget Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CCallTarget -> m CCallTarget Source #

Binary CCallTarget Source # 
Instance details

Defined in ForeignCall

data CCallConv Source #

Instances
Eq CCallConv Source # 
Instance details

Defined in ForeignCall

Data CCallConv Source # 
Instance details

Defined in ForeignCall

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CCallConv -> c CCallConv Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CCallConv Source #

toConstr :: CCallConv -> Constr Source #

dataTypeOf :: CCallConv -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CCallConv) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CCallConv) Source #

gmapT :: (forall b. Data b => b -> b) -> CCallConv -> CCallConv Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CCallConv -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CCallConv -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CCallConv -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CCallConv -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CCallConv -> m CCallConv Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CCallConv -> m CCallConv Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CCallConv -> m CCallConv Source #

Outputable CCallConv Source # 
Instance details

Defined in ForeignCall

Binary CCallConv Source # 
Instance details

Defined in ForeignCall

data Header Source #

Instances
Eq Header Source # 
Instance details

Defined in ForeignCall

Methods

(==) :: Header -> Header -> Bool #

(/=) :: Header -> Header -> Bool #

Data Header Source # 
Instance details

Defined in ForeignCall

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Header -> c Header Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Header Source #

toConstr :: Header -> Constr Source #

dataTypeOf :: Header -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Header) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Header) Source #

gmapT :: (forall b. Data b => b -> b) -> Header -> Header Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Header -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Header -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Header -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Header -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Header -> m Header Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Header -> m Header Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Header -> m Header Source #

Outputable Header Source # 
Instance details

Defined in ForeignCall

Binary Header Source # 
Instance details

Defined in ForeignCall

data CType Source #

A C type, used in CAPI FFI calls

Instances
Eq CType Source # 
Instance details

Defined in ForeignCall

Methods

(==) :: CType -> CType -> Bool #

(/=) :: CType -> CType -> Bool #

Data CType Source # 
Instance details

Defined in ForeignCall

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CType -> c CType Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CType Source #

toConstr :: CType -> Constr Source #

dataTypeOf :: CType -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CType) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CType) Source #

gmapT :: (forall b. Data b => b -> b) -> CType -> CType Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CType -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CType -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CType -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CType -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CType -> m CType Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CType -> m CType Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CType -> m CType Source #

Outputable CType Source # 
Instance details

Defined in ForeignCall

Binary CType Source # 
Instance details

Defined in ForeignCall