ghc-9.10.0.20240426: The GHC API
Safe HaskellNone
LanguageGHC2021

GHC.Iface.Syntax

Synopsis

Documentation

data IfaceDecl Source #

Instances

Instances details
NFData IfaceDecl Source # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceDecl -> () Source #

NamedThing IfaceDecl Source # 
Instance details

Defined in GHC.Iface.Syntax

HasOccName IfaceDecl Source # 
Instance details

Defined in GHC.Iface.Syntax

Binary IfaceDecl Source # 
Instance details

Defined in GHC.Iface.Syntax

Outputable IfaceDecl Source # 
Instance details

Defined in GHC.Iface.Syntax

Methods

ppr :: IfaceDecl -> SDoc Source #

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 Iface syntax] in GHC.Types.TyThing.Ppr

IfaceAbstractClosedSynFamilyTyCon 
IfaceBuiltInSynFamTyCon 

data IfaceAT Source #

Instances

Instances details
NFData IfaceAT Source # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceAT -> () Source #

Binary IfaceAT Source # 
Instance details

Defined in GHC.Iface.Syntax

Outputable IfaceAT Source # 
Instance details

Defined in GHC.Iface.Syntax

Methods

ppr :: IfaceAT -> SDoc Source #

data IfaceAlt Source #

Instances

Instances details
NFData IfaceAlt Source # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceAlt -> () Source #

Binary IfaceAlt Source # 
Instance details

Defined in GHC.Iface.Syntax

data IfaceBindingX r b Source #

Constructors

IfaceNonRec b r 
IfaceRec [(b, r)] 

Instances

Instances details
Functor (IfaceBindingX r) Source # 
Instance details

Defined in GHC.Iface.Syntax

Methods

fmap :: (a -> b) -> IfaceBindingX r a -> IfaceBindingX r b #

(<$) :: a -> IfaceBindingX r b -> IfaceBindingX r a #

Foldable (IfaceBindingX r) Source # 
Instance details

Defined in GHC.Iface.Syntax

Methods

fold :: Monoid m => IfaceBindingX r m -> m #

foldMap :: Monoid m => (a -> m) -> IfaceBindingX r a -> m #

foldMap' :: Monoid m => (a -> m) -> IfaceBindingX r a -> m #

foldr :: (a -> b -> b) -> b -> IfaceBindingX r a -> b #

foldr' :: (a -> b -> b) -> b -> IfaceBindingX r a -> b #

foldl :: (b -> a -> b) -> b -> IfaceBindingX r a -> b #

foldl' :: (b -> a -> b) -> b -> IfaceBindingX r a -> b #

foldr1 :: (a -> a -> a) -> IfaceBindingX r a -> a #

foldl1 :: (a -> a -> a) -> IfaceBindingX r a -> a #

toList :: IfaceBindingX r a -> [a] #

null :: IfaceBindingX r a -> Bool #

length :: IfaceBindingX r a -> Int #

elem :: Eq a => a -> IfaceBindingX r a -> Bool #

maximum :: Ord a => IfaceBindingX r a -> a #

minimum :: Ord a => IfaceBindingX r a -> a #

sum :: Num a => IfaceBindingX r a -> a #

product :: Num a => IfaceBindingX r a -> a #

Traversable (IfaceBindingX r) Source # 
Instance details

Defined in GHC.Iface.Syntax

Methods

traverse :: Applicative f => (a -> f b) -> IfaceBindingX r a -> f (IfaceBindingX r b) #

sequenceA :: Applicative f => IfaceBindingX r (f a) -> f (IfaceBindingX r a) #

mapM :: Monad m => (a -> m b) -> IfaceBindingX r a -> m (IfaceBindingX r b) #

sequence :: Monad m => IfaceBindingX r (m a) -> m (IfaceBindingX r a) #

(NFData b, NFData a) => NFData (IfaceBindingX a b) Source # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceBindingX a b -> () Source #

(Binary r, Binary b) => Binary (IfaceBindingX b r) Source # 
Instance details

Defined in GHC.Iface.Syntax

(Outputable r, Outputable b) => Outputable (IfaceBindingX r b) Source # 
Instance details

Defined in GHC.Iface.Syntax

Methods

ppr :: IfaceBindingX r b -> SDoc Source #

(Eq b, Eq r) => Eq (IfaceBindingX r b) Source # 
Instance details

Defined in GHC.Iface.Syntax

Methods

(==) :: IfaceBindingX r b -> IfaceBindingX r b -> Bool #

(/=) :: IfaceBindingX r b -> IfaceBindingX r b -> Bool #

(Ord b, Ord r) => Ord (IfaceBindingX r b) Source # 
Instance details

Defined in GHC.Iface.Syntax

data IfaceMaybeRhs Source #

Instances

Instances details
NFData IfaceMaybeRhs Source # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceMaybeRhs -> () Source #

Binary IfaceMaybeRhs Source # 
Instance details

Defined in GHC.Iface.Syntax

Outputable IfaceMaybeRhs Source # 
Instance details

Defined in GHC.Iface.Syntax

data IfaceConAlt Source #

Instances

Instances details
NFData IfaceConAlt Source # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceConAlt -> () Source #

Binary IfaceConAlt Source # 
Instance details

Defined in GHC.Iface.Syntax

Outputable IfaceConAlt Source # 
Instance details

Defined in GHC.Iface.Syntax

Methods

ppr :: IfaceConAlt -> SDoc Source #

data IfGuidance Source #

Instances

Instances details
NFData IfGuidance Source # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfGuidance -> () Source #

Binary IfGuidance Source # 
Instance details

Defined in GHC.Iface.Syntax

Outputable IfGuidance Source # 
Instance details

Defined in GHC.Iface.Syntax

Methods

ppr :: IfGuidance -> SDoc Source #

data IfaceRule Source #

Instances

Instances details
NFData IfaceRule Source # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceRule -> () Source #

Binary IfaceRule Source # 
Instance details

Defined in GHC.Iface.Syntax

Outputable IfaceRule Source # 
Instance details

Defined in GHC.Iface.Syntax

Methods

ppr :: IfaceRule -> SDoc Source #

data IfaceClassBody Source #

Instances

Instances details
NFData IfaceClassBody Source # 
Instance details

Defined in GHC.Iface.Syntax

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 Source # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceBang -> () Source #

Binary IfaceBang Source # 
Instance details

Defined in GHC.Iface.Syntax

data IfaceSrcBang Source #

This corresponds to HsSrcBang

Instances

Instances details
NFData IfaceSrcBang Source # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceSrcBang -> () Source #

Binary IfaceSrcBang Source # 
Instance details

Defined in GHC.Iface.Syntax

data SrcUnpackedness Source #

Source Unpackedness

What unpackedness the user requested

Constructors

SrcUnpack

{-# UNPACK #-} specified

SrcNoUnpack

{-# NOUNPACK #-} specified

NoSrcUnpack

no unpack pragma

Instances

Instances details
Binary SrcUnpackedness Source # 
Instance details

Defined in GHC.Core.DataCon

Outputable SrcUnpackedness Source # 
Instance details

Defined in GHC.Core.DataCon

Data SrcUnpackedness Source # 
Instance details

Defined in Language.Haskell.Syntax.Basic

Methods

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

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

toConstr :: SrcUnpackedness -> Constr #

dataTypeOf :: SrcUnpackedness -> DataType #

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

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

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

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

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

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

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

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

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

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

Eq SrcUnpackedness Source # 
Instance details

Defined in Language.Haskell.Syntax.Basic

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
Binary SrcStrictness Source # 
Instance details

Defined in GHC.Core.DataCon

Outputable SrcStrictness Source # 
Instance details

Defined in GHC.Core.DataCon

Data SrcStrictness Source # 
Instance details

Defined in Language.Haskell.Syntax.Basic

Methods

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

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

toConstr :: SrcStrictness -> Constr #

dataTypeOf :: SrcStrictness -> DataType #

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

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

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

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

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

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

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

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

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

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

Eq SrcStrictness Source # 
Instance details

Defined in Language.Haskell.Syntax.Basic

data IfaceLFInfo Source #

Iface type for LambdaFormInfo. Fields not relevant for imported Ids are omitted in this type.

Instances

Instances details
Binary IfaceLFInfo Source # 
Instance details

Defined in GHC.Iface.Syntax

Outputable IfaceLFInfo Source # 
Instance details

Defined in GHC.Iface.Syntax

Methods

ppr :: IfaceLFInfo -> SDoc Source #

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 IfaceExpr

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 (Maybe (OccName -> Bool)) AltPpr

Show the declaration and its RHS. The Maybe predicate allows filtering of the sub-components which should be printing; any sub-components filtered out will be elided with ....

ShowIface

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

Instances

Instances details
Outputable ShowHowMuch Source # 
Instance details

Defined in GHC.Iface.Type

Methods

ppr :: ShowHowMuch -> SDoc Source #

showToIface :: ShowSub Source #

Show declaration and its RHS, including GHc-internal information (e.g. for --show-iface).

showToHeader :: ShowSub Source #

Show a declaration but not its RHS.