ghc-9.15: The GHC API
Safe HaskellNone
LanguageGHC2024

Language.Haskell.Syntax.Decls.Foreign

Description

Abstract syntax of foreign function interface declarations.

Synopsis

Foreign function interface declarations

Data-type

data ForeignDecl pass Source #

Foreign Declaration

Instances

Instances details
OutputableBndrId p => Outputable (ForeignDecl (GhcPass p)) Source # 
Instance details

Defined in GHC.Hs.Decls

Methods

ppr :: ForeignDecl (GhcPass p) -> SDoc Source #

Data (ForeignDecl GhcPs) Source # 
Instance details

Defined in GHC.Hs.Instances

Methods

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

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

toConstr :: ForeignDecl GhcPs -> Constr Source #

dataTypeOf :: ForeignDecl GhcPs -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Data (ForeignDecl GhcRn) Source # 
Instance details

Defined in GHC.Hs.Instances

Methods

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

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

toConstr :: ForeignDecl GhcRn -> Constr Source #

dataTypeOf :: ForeignDecl GhcRn -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Data (ForeignDecl GhcTc) Source # 
Instance details

Defined in GHC.Hs.Instances

Methods

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

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

toConstr :: ForeignDecl GhcTc -> Constr Source #

dataTypeOf :: ForeignDecl GhcTc -> DataType Source #

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

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

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

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

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

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

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

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

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

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

type Anno (ForeignDecl (GhcPass p)) Source # 
Instance details

Defined in GHC.Hs.Decls

Record synonym

type LForeignDecl pass = XRec pass (ForeignDecl pass) Source #

Located Foreign Declaration

Foreign export types

Data-type

data ForeignExport pass Source #

Specification of an externally exported entity in dependence on the calling convention

Constructors

CExport (XCExport pass) (XRec pass CExportSpec)

contains the calling convention

XForeignExport !(XXForeignExport pass) 

Instances

Instances details
OutputableBndrId p => Outputable (ForeignExport (GhcPass p)) Source # 
Instance details

Defined in GHC.Hs.Decls

Data (ForeignExport GhcPs) Source # 
Instance details

Defined in GHC.Hs.Instances

Methods

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

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

toConstr :: ForeignExport GhcPs -> Constr Source #

dataTypeOf :: ForeignExport GhcPs -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Data (ForeignExport GhcRn) Source # 
Instance details

Defined in GHC.Hs.Instances

Methods

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

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

toConstr :: ForeignExport GhcRn -> Constr Source #

dataTypeOf :: ForeignExport GhcRn -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Data (ForeignExport GhcTc) Source # 
Instance details

Defined in GHC.Hs.Instances

Methods

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

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

toConstr :: ForeignExport GhcTc -> Constr Source #

dataTypeOf :: ForeignExport GhcTc -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Specification

data CExportSpec Source #

Constructors

CExportStatic CLabelString CCallConv

foreign export ccall foo :: ty

Instances

Instances details
Binary CExportSpec Source # 
Instance details

Defined in GHC.Types.ForeignCall

Outputable CExportSpec Source # 
Instance details

Defined in GHC.Types.ForeignCall

Methods

ppr :: CExportSpec -> SDoc Source #

Data CExportSpec Source # 
Instance details

Defined in Language.Haskell.Syntax.Decls.Foreign

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 :: forall r r'. (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 #

type Anno CExportSpec Source # 
Instance details

Defined in GHC.Hs.Decls

Foreign import types

Data-type

data ForeignImport pass Source #

Specification Of an imported external entity in dependence on the calling convention

Constructors

CImport (XCImport pass) (XRec pass CCallConv) (XRec pass Safety) (Maybe (Header pass)) (CImportSpec pass)

Import of a C entity

  • the two strings specifying a header file or library may be empty, which indicates the absence of a header or object specification (both are not used in the case of CWrapper and when CFunction has a dynamic target)
  • the calling convention is irrelevant for code generation in the case of CLabel, but is needed for pretty printing
  • Safety is irrelevant for CLabel and CWrapper
XForeignImport !(XXForeignImport pass) 

Instances

Instances details
(IsPass p, OutputableBndrId p) => Outputable (ForeignImport (GhcPass p)) Source # 
Instance details

Defined in GHC.Hs.Decls

Data (ForeignImport GhcPs) Source # 
Instance details

Defined in GHC.Hs.Instances

Methods

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

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

toConstr :: ForeignImport GhcPs -> Constr Source #

dataTypeOf :: ForeignImport GhcPs -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Data (ForeignImport GhcRn) Source # 
Instance details

Defined in GHC.Hs.Instances

Methods

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

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

toConstr :: ForeignImport GhcRn -> Constr Source #

dataTypeOf :: ForeignImport GhcRn -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Data (ForeignImport GhcTc) Source # 
Instance details

Defined in GHC.Hs.Instances

Methods

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

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

toConstr :: ForeignImport GhcTc -> Constr Source #

dataTypeOf :: ForeignImport GhcTc -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Specification

data CImportSpec pass Source #

Details of an external C entity

Instances

Instances details
Data (CImportSpec GhcPs) Source # 
Instance details

Defined in GHC.Hs.Instances

Methods

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

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

toConstr :: CImportSpec GhcPs -> Constr Source #

dataTypeOf :: CImportSpec GhcPs -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Data (CImportSpec GhcRn) Source # 
Instance details

Defined in GHC.Hs.Instances

Methods

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

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

toConstr :: CImportSpec GhcRn -> Constr Source #

dataTypeOf :: CImportSpec GhcRn -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Data (CImportSpec GhcTc) Source # 
Instance details

Defined in GHC.Hs.Instances

Methods

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

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

toConstr :: CImportSpec GhcTc -> Constr Source #

dataTypeOf :: CImportSpec GhcTc -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Sub-types

data CCallTarget pass Source #

How to call a particular function in C-land.

Constructors

StaticTarget (XStaticTarget pass) CLabelString ForeignKind 
DynamicTarget (XDynamicTarget pass)

The first argument of the import is the name of a function pointer (an Addr#). Used when importing a label as "foreign import ccall "dynamic" ..."

XCCallTarget !(XXCCallTarget pass) 

Instances

Instances details
IsPass p => NFData (CCallTarget (GhcPass p)) Source # 
Instance details

Defined in GHC.Types.ForeignCall

Methods

rnf :: CCallTarget (GhcPass p) -> () Source #

IsPass p => Binary (CCallTarget (GhcPass p)) Source # 
Instance details

Defined in GHC.Types.ForeignCall

IsPass p => Eq (CCallTarget (GhcPass p)) Source # 
Instance details

Defined in GHC.Types.ForeignCall

Data (CCallTarget GhcPs) Source # 
Instance details

Defined in GHC.Hs.Instances

Methods

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

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

toConstr :: CCallTarget GhcPs -> Constr Source #

dataTypeOf :: CCallTarget GhcPs -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Data (CCallTarget GhcRn) Source # 
Instance details

Defined in GHC.Hs.Instances

Methods

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

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

toConstr :: CCallTarget GhcRn -> Constr Source #

dataTypeOf :: CCallTarget GhcRn -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Data (CCallTarget GhcTc) Source # 
Instance details

Defined in GHC.Hs.Instances

Methods

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

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

toConstr :: CCallTarget GhcTc -> Constr Source #

dataTypeOf :: CCallTarget GhcTc -> DataType Source #

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

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

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

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

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

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

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

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

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

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

data ForeignKind Source #

Constructors

ForeignValue

Binds to a value, a zero-arity function.

ForeignFunction

Binds to a function with arity of at least one.

Instances

Instances details
NFData ForeignKind Source # 
Instance details

Defined in Language.Haskell.Syntax.Decls.Foreign

Methods

rnf :: ForeignKind -> () Source #

Binary ForeignKind Source # 
Instance details

Defined in GHC.Types.ForeignCall

Eq ForeignKind Source # 
Instance details

Defined in Language.Haskell.Syntax.Decls.Foreign

Data ForeignKind Source # 
Instance details

Defined in Language.Haskell.Syntax.Decls.Foreign

Methods

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

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

toConstr :: ForeignKind -> Constr Source #

dataTypeOf :: ForeignKind -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Enum ForeignKind Source # 
Instance details

Defined in Language.Haskell.Syntax.Decls.Foreign

Show ForeignKind Source # 
Instance details

Defined in Language.Haskell.Syntax.Decls.Foreign

data Safety Source #

Constructors

PlaySafe

Might invoke Haskell GC, or do a call back, or switch threads, etc. So make sure things are tidy before the call. Additionally, in the threaded RTS we arrange for the external call to be executed by a separate OS thread, i.e., _concurrently_ to the execution of other Haskell threads.

PlayInterruptible

Like PlaySafe, but additionally the worker thread running this foreign call may be unceremoniously killed, so it must be scheduled on an unbound thread.

PlayRisky

None of the above can happen; the call will return without interacting with the runtime system at all. Specifically:

  • No GC
  • No call backs
  • No blocking
  • No precise exceptions

Instances

Instances details
NFData Safety Source # 
Instance details

Defined in Language.Haskell.Syntax.Decls.Foreign

Methods

rnf :: Safety -> () Source #

Binary Safety Source # 
Instance details

Defined in GHC.Types.ForeignCall

Outputable Safety Source # 
Instance details

Defined in GHC.Types.ForeignCall

Methods

ppr :: Safety -> SDoc Source #

Eq Safety Source # 
Instance details

Defined in Language.Haskell.Syntax.Decls.Foreign

Data Safety Source # 
Instance details

Defined in Language.Haskell.Syntax.Decls.Foreign

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 :: forall r r'. (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 #

Enum Safety Source # 
Instance details

Defined in Language.Haskell.Syntax.Decls.Foreign

Show Safety Source # 
Instance details

Defined in Language.Haskell.Syntax.Decls.Foreign

type Anno Safety Source # 
Instance details

Defined in GHC.Hs.Decls

Foreign binding type

data CType pass Source #

A C type, used in CAPI FFI calls

Constructors

CType (XCType pass) (Maybe (Header pass)) FastString 
XCType !(XXCType pass) 

Instances

Instances details
NFData (CType (GhcPass p)) Source # 
Instance details

Defined in GHC.Types.ForeignCall

Methods

rnf :: CType (GhcPass p) -> () Source #

Binary (CType (GhcPass p)) Source # 
Instance details

Defined in GHC.Types.ForeignCall

Outputable (CType (GhcPass p)) Source # 
Instance details

Defined in GHC.Types.ForeignCall

Methods

ppr :: CType (GhcPass p) -> SDoc Source #

Data (CType GhcPs) Source # 
Instance details

Defined in GHC.Hs.Instances

Methods

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

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

toConstr :: CType GhcPs -> Constr Source #

dataTypeOf :: CType GhcPs -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Data (CType GhcRn) Source # 
Instance details

Defined in GHC.Hs.Instances

Methods

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

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

toConstr :: CType GhcRn -> Constr Source #

dataTypeOf :: CType GhcRn -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Data (CType GhcTc) Source # 
Instance details

Defined in GHC.Hs.Instances

Methods

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

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

toConstr :: CType GhcTc -> Constr Source #

dataTypeOf :: CType GhcTc -> DataType Source #

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

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

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

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

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

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

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

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

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

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

type Anno (CType (GhcPass p)) Source # 
Instance details

Defined in GHC.Hs.Decls

General sub-types

data CCallConv Source #

Instances

Instances details
NFData CCallConv Source # 
Instance details

Defined in Language.Haskell.Syntax.Decls.Foreign

Methods

rnf :: CCallConv -> () Source #

Binary CCallConv Source # 
Instance details

Defined in GHC.Types.ForeignCall

Outputable CCallConv Source # 
Instance details

Defined in GHC.Types.ForeignCall

Methods

ppr :: CCallConv -> SDoc Source #

Eq CCallConv Source # 
Instance details

Defined in Language.Haskell.Syntax.Decls.Foreign

Data CCallConv Source # 
Instance details

Defined in Language.Haskell.Syntax.Decls.Foreign

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 :: forall r r'. (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 #

Enum CCallConv Source # 
Instance details

Defined in Language.Haskell.Syntax.Decls.Foreign

Show CCallConv Source # 
Instance details

Defined in Language.Haskell.Syntax.Decls.Foreign

type Anno CCallConv Source # 
Instance details

Defined in GHC.Hs.Decls

data Header pass Source #

Constructors

Header (XHeader pass) FastString 
XHeader !(XXHeader pass) 

Instances

Instances details
NFData (Header (GhcPass p)) Source # 
Instance details

Defined in GHC.Types.ForeignCall

Methods

rnf :: Header (GhcPass p) -> () Source #

Binary (Header (GhcPass p)) Source # 
Instance details

Defined in GHC.Types.ForeignCall

Outputable (Header (GhcPass p)) Source # 
Instance details

Defined in GHC.Types.ForeignCall

Methods

ppr :: Header (GhcPass p) -> SDoc Source #

Eq (Header (GhcPass p)) Source # 
Instance details

Defined in GHC.Types.ForeignCall

Methods

(==) :: Header (GhcPass p) -> Header (GhcPass p) -> Bool Source #

(/=) :: Header (GhcPass p) -> Header (GhcPass p) -> Bool Source #

Data (Header GhcPs) Source # 
Instance details

Defined in GHC.Hs.Instances

Methods

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

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

toConstr :: Header GhcPs -> Constr Source #

dataTypeOf :: Header GhcPs -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Data (Header GhcRn) Source # 
Instance details

Defined in GHC.Hs.Instances

Methods

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

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

toConstr :: Header GhcRn -> Constr Source #

dataTypeOf :: Header GhcRn -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Data (Header GhcTc) Source # 
Instance details

Defined in GHC.Hs.Instances

Methods

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

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

toConstr :: Header GhcTc -> Constr Source #

dataTypeOf :: Header GhcTc -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Extension points

ForeignDecl

type family XForeignExport x Source #

Instances

Instances details
type XForeignExport GhcPs Source # 
Instance details

Defined in GHC.Hs.Decls

type XForeignExport GhcPs = (EpToken "foreign", EpToken "export", TokDcolon)
type XForeignExport GhcRn Source # 
Instance details

Defined in GHC.Hs.Decls

type XForeignExport GhcTc Source # 
Instance details

Defined in GHC.Hs.Decls

type family XForeignImport x Source #

Instances

Instances details
type XForeignImport GhcPs Source # 
Instance details

Defined in GHC.Hs.Decls

type XForeignImport GhcPs = (EpToken "foreign", EpToken "import", TokDcolon)
type XForeignImport GhcRn Source # 
Instance details

Defined in GHC.Hs.Decls

type XForeignImport GhcTc Source # 
Instance details

Defined in GHC.Hs.Decls

type family XXForeignDecl x Source #

Instances

Instances details
type XXForeignDecl (GhcPass _1) Source # 
Instance details

Defined in GHC.Hs.Decls

ForeignExport

type family XCExport x Source #

Instances

Instances details
type XCExport (GhcPass _1) Source # 
Instance details

Defined in GHC.Hs.Decls

type family XXForeignExport x Source #

Instances

Instances details
type XXForeignExport (GhcPass _1) Source # 
Instance details

Defined in GHC.Hs.Decls

ForeignImport

type family XCImport x Source #

Instances

Instances details
type XCImport (GhcPass _1) Source # 
Instance details

Defined in GHC.Hs.Decls

type family XXForeignImport x Source #

Instances

Instances details
type XXForeignImport (GhcPass _1) Source # 
Instance details

Defined in GHC.Hs.Decls

CCallTarget

type family XStaticTarget x Source #

Instances

Instances details
type XStaticTarget GhcPs Source # 
Instance details

Defined in GHC.Types.ForeignCall

type XStaticTarget GhcRn Source # 
Instance details

Defined in GHC.Types.ForeignCall

type XStaticTarget GhcTc Source # 
Instance details

Defined in GHC.Types.ForeignCall

type family XDynamicTarget x Source #

Instances

Instances details
type XDynamicTarget (GhcPass p) Source # 
Instance details

Defined in GHC.Types.ForeignCall

type family XXCCallTarget x Source #

Instances

Instances details
type XXCCallTarget (GhcPass p) Source # 
Instance details

Defined in GHC.Types.ForeignCall

CType

type family XCType x Source #

Instances

Instances details
type XCType (GhcPass p) Source # 
Instance details

Defined in GHC.Types.ForeignCall

type family XXCType x Source #

Instances

Instances details
type XXCType (GhcPass p) Source # 
Instance details

Defined in GHC.Types.ForeignCall

Header

type family XHeader x Source #

Instances

Instances details
type XHeader (GhcPass p) Source # 
Instance details

Defined in GHC.Types.ForeignCall

type family XXHeader x Source #

Instances

Instances details
type XXHeader (GhcPass p) Source # 
Instance details

Defined in GHC.Types.ForeignCall