ghc-8.10.7: The GHC API
Safe HaskellNone
LanguageHaskell2010

IfaceSyn

Synopsis

Documentation

module IfaceType

data IfaceDecl Source #

Instances

Instances details
NFData IfaceDecl # 
Instance details

Defined in IfaceSyn

Methods

rnf :: IfaceDecl -> () Source #

Outputable IfaceDecl # 
Instance details

Defined in IfaceSyn

Binary IfaceDecl # 
Instance details

Defined in IfaceSyn

HasOccName IfaceDecl # 
Instance details

Defined in IfaceSyn

NamedThing IfaceDecl # 
Instance details

Defined in IfaceSyn

data IfaceFamTyConFlav Source #

Constructors

IfaceDataFamilyTyCon 
IfaceOpenSynFamilyTyCon 
IfaceClosedSynFamilyTyCon (Maybe (IfExtName, [IfaceAxBranch]))

Name of associated axiom and branches for pretty printing purposes, or Nothing for an empty closed family without an axiom See Note [Pretty printing via IfaceSyn] in PprTyThing

IfaceAbstractClosedSynFamilyTyCon 
IfaceBuiltInSynFamTyCon 

Instances

Instances details
NFData IfaceFamTyConFlav # 
Instance details

Defined in IfaceSyn

Methods

rnf :: IfaceFamTyConFlav -> () Source #

Binary IfaceFamTyConFlav # 
Instance details

Defined in IfaceSyn

data IfaceClassOp Source #

Instances

Instances details
NFData IfaceClassOp # 
Instance details

Defined in IfaceSyn

Methods

rnf :: IfaceClassOp -> () Source #

Outputable IfaceClassOp # 
Instance details

Defined in IfaceSyn

Binary IfaceClassOp # 
Instance details

Defined in IfaceSyn

HasOccName IfaceClassOp # 
Instance details

Defined in IfaceSyn

NamedThing IfaceClassOp # 
Instance details

Defined in IfaceSyn

data IfaceAT Source #

Instances

Instances details
NFData IfaceAT # 
Instance details

Defined in IfaceSyn

Methods

rnf :: IfaceAT -> () Source #

Outputable IfaceAT # 
Instance details

Defined in IfaceSyn

Binary IfaceAT # 
Instance details

Defined in IfaceSyn

data IfaceConDecls Source #

Instances

Instances details
NFData IfaceConDecls # 
Instance details

Defined in IfaceSyn

Methods

rnf :: IfaceConDecls -> () Source #

Binary IfaceConDecls # 
Instance details

Defined in IfaceSyn

data IfaceLetBndr Source #

Instances

Instances details
NFData IfaceLetBndr # 
Instance details

Defined in IfaceSyn

Methods

rnf :: IfaceLetBndr -> () Source #

Binary IfaceLetBndr # 
Instance details

Defined in IfaceSyn

data IfaceJoinInfo Source #

Instances

Instances details
NFData IfaceJoinInfo # 
Instance details

Defined in IfaceSyn

Methods

rnf :: IfaceJoinInfo -> () Source #

Outputable IfaceJoinInfo # 
Instance details

Defined in IfaceSyn

Binary IfaceJoinInfo # 
Instance details

Defined in IfaceSyn

data IfaceBinding Source #

Instances

Instances details
NFData IfaceBinding # 
Instance details

Defined in IfaceSyn

Methods

rnf :: IfaceBinding -> () Source #

Binary IfaceBinding # 
Instance details

Defined in IfaceSyn

data IfaceConAlt Source #

Instances

Instances details
NFData IfaceConAlt # 
Instance details

Defined in IfaceSyn

Methods

rnf :: IfaceConAlt -> () Source #

Outputable IfaceConAlt # 
Instance details

Defined in IfaceSyn

Binary IfaceConAlt # 
Instance details

Defined in IfaceSyn

data IfaceIdInfo Source #

Constructors

NoInfo 
HasInfo [IfaceInfoItem] 

Instances

Instances details
NFData IfaceIdInfo # 
Instance details

Defined in IfaceSyn

Methods

rnf :: IfaceIdInfo -> () Source #

Outputable IfaceIdInfo # 
Instance details

Defined in IfaceSyn

Binary IfaceIdInfo # 
Instance details

Defined in IfaceSyn

data IfaceIdDetails Source #

Instances

Instances details
NFData IfaceIdDetails # 
Instance details

Defined in IfaceSyn

Methods

rnf :: IfaceIdDetails -> () Source #

Outputable IfaceIdDetails # 
Instance details

Defined in IfaceSyn

Binary IfaceIdDetails # 
Instance details

Defined in IfaceSyn

data IfaceRule Source #

Instances

Instances details
NFData IfaceRule # 
Instance details

Defined in IfaceSyn

Methods

rnf :: IfaceRule -> () Source #

Outputable IfaceRule # 
Instance details

Defined in IfaceSyn

Binary IfaceRule # 
Instance details

Defined in IfaceSyn

data IfaceClsInst Source #

Instances

Instances details
NFData IfaceClsInst # 
Instance details

Defined in IfaceSyn

Methods

rnf :: IfaceClsInst -> () Source #

Outputable IfaceClsInst # 
Instance details

Defined in IfaceSyn

Binary IfaceClsInst # 
Instance details

Defined in IfaceSyn

data IfaceFamInst Source #

Instances

Instances details
NFData IfaceFamInst # 
Instance details

Defined in IfaceSyn

Methods

rnf :: IfaceFamInst -> () Source #

Outputable IfaceFamInst # 
Instance details

Defined in IfaceSyn

Binary IfaceFamInst # 
Instance details

Defined in IfaceSyn

data IfaceTickish Source #

Instances

Instances details
NFData IfaceTickish # 
Instance details

Defined in IfaceSyn

Methods

rnf :: IfaceTickish -> () Source #

Binary IfaceTickish # 
Instance details

Defined in IfaceSyn

data IfaceClassBody Source #

Instances

Instances details
NFData IfaceClassBody # 
Instance details

Defined in IfaceSyn

Methods

rnf :: IfaceClassBody -> () Source #

data IfaceBang Source #

This corresponds to an HsImplBang; that is, the final implementation decision about the data constructor arg

Instances

Instances details
NFData IfaceBang # 
Instance details

Defined in IfaceSyn

Methods

rnf :: IfaceBang -> () Source #

Binary IfaceBang # 
Instance details

Defined in IfaceSyn

data IfaceSrcBang Source #

This corresponds to HsSrcBang

Instances

Instances details
NFData IfaceSrcBang # 
Instance details

Defined in IfaceSyn

Methods

rnf :: IfaceSrcBang -> () Source #

Binary IfaceSrcBang # 
Instance details

Defined in IfaceSyn

data SrcUnpackedness Source #

Source Unpackedness

What unpackedness the user requested

Constructors

SrcUnpack

{-# UNPACK #-} specified

SrcNoUnpack

{-# NOUNPACK #-} specified

NoSrcUnpack

no unpack pragma

Instances

Instances details
Eq SrcUnpackedness # 
Instance details

Defined in DataCon

Data SrcUnpackedness # 
Instance details

Defined in DataCon

Methods

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

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

toConstr :: SrcUnpackedness -> Constr Source #

dataTypeOf :: SrcUnpackedness -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Outputable SrcUnpackedness # 
Instance details

Defined in DataCon

Binary SrcUnpackedness # 
Instance details

Defined in DataCon

data SrcStrictness Source #

Source Strictness

What strictness annotation the user wrote

Constructors

SrcLazy

Lazy, ie '~'

SrcStrict

Strict, ie !

NoSrcStrict

no strictness annotation

Instances

Instances details
Eq SrcStrictness # 
Instance details

Defined in DataCon

Data SrcStrictness # 
Instance details

Defined in DataCon

Methods

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

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

toConstr :: SrcStrictness -> Constr Source #

dataTypeOf :: SrcStrictness -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Outputable SrcStrictness # 
Instance details

Defined in DataCon

Binary SrcStrictness # 
Instance details

Defined in DataCon

Binding names

type IfaceTopBndr = Name Source #

A binding top-level Name in an interface file (e.g. the name of an IfaceDecl).

pprIfaceExpr :: (SDoc -> SDoc) -> IfaceExpr -> SDoc Source #

Pretty Print an IfaceExpre

The first argument should be a function that adds parens in context that need an atomic value (e.g. function args)

newtype AltPpr Source #

Constructors

AltPpr (Maybe (OccName -> SDoc)) 

data ShowHowMuch Source #

Constructors

ShowHeader AltPpr

Header information only, not rhs

ShowSome [OccName] AltPpr

Show only some sub-components. Specifically,

@[
@] Print all sub-components.
(n:ns)
Print sub-component n with ShowSub = ns; elide other sub-components to ... May 14: the list is max 1 element long at the moment
ShowIface

Everything including GHC-internal information (used in --show-iface)

Instances

Instances details
Outputable ShowHowMuch # 
Instance details

Defined in IfaceSyn