ghc-lib-parser-9.8.1.20231009: The GHC API, decoupled from GHC versions
Safe HaskellSafe-Inferred
LanguageHaskell2010

GHC.Iface.Syntax

Synopsis

Documentation

data IfaceDecl #

Instances

Instances details
NFData IfaceDecl # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceDecl -> ()

NamedThing IfaceDecl # 
Instance details

Defined in GHC.Iface.Syntax

HasOccName IfaceDecl # 
Instance details

Defined in GHC.Iface.Syntax

Methods

occName :: IfaceDecl -> OccName #

Binary IfaceDecl # 
Instance details

Defined in GHC.Iface.Syntax

Outputable IfaceDecl # 
Instance details

Defined in GHC.Iface.Syntax

Methods

ppr :: IfaceDecl -> SDoc #

data IfaceFamTyConFlav #

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 

Instances

Instances details
NFData IfaceFamTyConFlav # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceFamTyConFlav -> ()

Binary IfaceFamTyConFlav # 
Instance details

Defined in GHC.Iface.Syntax

data IfaceClassOp #

Instances

Instances details
NFData IfaceClassOp # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceClassOp -> ()

NamedThing IfaceClassOp # 
Instance details

Defined in GHC.Iface.Syntax

HasOccName IfaceClassOp # 
Instance details

Defined in GHC.Iface.Syntax

Binary IfaceClassOp # 
Instance details

Defined in GHC.Iface.Syntax

Outputable IfaceClassOp # 
Instance details

Defined in GHC.Iface.Syntax

Methods

ppr :: IfaceClassOp -> SDoc #

data IfaceAT #

Instances

Instances details
NFData IfaceAT # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceAT -> ()

Binary IfaceAT # 
Instance details

Defined in GHC.Iface.Syntax

Outputable IfaceAT # 
Instance details

Defined in GHC.Iface.Syntax

Methods

ppr :: IfaceAT -> SDoc #

data IfaceConDecls #

Instances

Instances details
NFData IfaceConDecls # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceConDecls -> ()

Binary IfaceConDecls # 
Instance details

Defined in GHC.Iface.Syntax

data IfaceAlt #

Instances

Instances details
NFData IfaceAlt # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceAlt -> ()

Binary IfaceAlt # 
Instance details

Defined in GHC.Iface.Syntax

data IfaceLetBndr #

Instances

Instances details
NFData IfaceLetBndr # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceLetBndr -> ()

Binary IfaceLetBndr # 
Instance details

Defined in GHC.Iface.Syntax

data IfaceJoinInfo #

Instances

Instances details
NFData IfaceJoinInfo # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceJoinInfo -> ()

Binary IfaceJoinInfo # 
Instance details

Defined in GHC.Iface.Syntax

Outputable IfaceJoinInfo # 
Instance details

Defined in GHC.Iface.Syntax

Methods

ppr :: IfaceJoinInfo -> SDoc #

data IfaceBindingX r b #

Constructors

IfaceNonRec b r 
IfaceRec [(b, r)] 

Instances

Instances details
Foldable (IfaceBindingX r) # 
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) # 
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) #

Functor (IfaceBindingX r) # 
Instance details

Defined in GHC.Iface.Syntax

Methods

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

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

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

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceBindingX a b -> ()

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

Defined in GHC.Iface.Syntax

Methods

put_ :: BinHandle -> IfaceBindingX b r -> IO () #

put :: BinHandle -> IfaceBindingX b r -> IO (Bin (IfaceBindingX b r)) #

get :: BinHandle -> IO (IfaceBindingX b r) #

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

Defined in GHC.Iface.Syntax

Methods

ppr :: IfaceBindingX r b -> SDoc #

(Eq b, Eq r) => Eq (IfaceBindingX r b) # 
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) # 
Instance details

Defined in GHC.Iface.Syntax

data IfaceMaybeRhs #

Instances

Instances details
NFData IfaceMaybeRhs # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceMaybeRhs -> ()

Binary IfaceMaybeRhs # 
Instance details

Defined in GHC.Iface.Syntax

Outputable IfaceMaybeRhs # 
Instance details

Defined in GHC.Iface.Syntax

Methods

ppr :: IfaceMaybeRhs -> SDoc #

data IfaceConAlt #

Instances

Instances details
NFData IfaceConAlt # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceConAlt -> ()

Binary IfaceConAlt # 
Instance details

Defined in GHC.Iface.Syntax

Outputable IfaceConAlt # 
Instance details

Defined in GHC.Iface.Syntax

Methods

ppr :: IfaceConAlt -> SDoc #

data IfaceUnfolding #

Instances

Instances details
NFData IfaceUnfolding # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceUnfolding -> ()

Binary IfaceUnfolding # 
Instance details

Defined in GHC.Iface.Syntax

Outputable IfaceUnfolding # 
Instance details

Defined in GHC.Iface.Syntax

Methods

ppr :: IfaceUnfolding -> SDoc #

data IfGuidance #

Instances

Instances details
NFData IfGuidance # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfGuidance -> ()

Binary IfGuidance # 
Instance details

Defined in GHC.Iface.Syntax

Outputable IfGuidance # 
Instance details

Defined in GHC.Iface.Syntax

Methods

ppr :: IfGuidance -> SDoc #

data IfaceRule #

Instances

Instances details
NFData IfaceRule # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceRule -> ()

Binary IfaceRule # 
Instance details

Defined in GHC.Iface.Syntax

Outputable IfaceRule # 
Instance details

Defined in GHC.Iface.Syntax

Methods

ppr :: IfaceRule -> SDoc #

data IfaceAnnotation #

Instances

Instances details
NFData IfaceAnnotation # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceAnnotation -> ()

Binary IfaceAnnotation # 
Instance details

Defined in GHC.Iface.Syntax

Outputable IfaceAnnotation # 
Instance details

Defined in GHC.Iface.Syntax

Methods

ppr :: IfaceAnnotation -> SDoc #

data IfaceWarnings #

Instances

Instances details
NFData IfaceWarnings # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceWarnings -> ()

Binary IfaceWarnings # 
Instance details

Defined in GHC.Iface.Syntax

Outputable IfaceWarnings # 
Instance details

Defined in GHC.Iface.Syntax

Methods

ppr :: IfaceWarnings -> SDoc #

data IfaceStringLiteral #

Instances

Instances details
NFData IfaceStringLiteral # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceStringLiteral -> ()

Binary IfaceStringLiteral # 
Instance details

Defined in GHC.Iface.Syntax

Outputable IfaceStringLiteral # 
Instance details

Defined in GHC.Iface.Syntax

data IfaceClsInst #

Instances

Instances details
NFData IfaceClsInst # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceClsInst -> ()

Binary IfaceClsInst # 
Instance details

Defined in GHC.Iface.Syntax

Outputable IfaceClsInst # 
Instance details

Defined in GHC.Iface.Syntax

Methods

ppr :: IfaceClsInst -> SDoc #

data IfaceFamInst #

Instances

Instances details
NFData IfaceFamInst # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceFamInst -> ()

Binary IfaceFamInst # 
Instance details

Defined in GHC.Iface.Syntax

Outputable IfaceFamInst # 
Instance details

Defined in GHC.Iface.Syntax

Methods

ppr :: IfaceFamInst -> SDoc #

data IfaceTickish #

Instances

Instances details
NFData IfaceTickish # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceTickish -> ()

Binary IfaceTickish # 
Instance details

Defined in GHC.Iface.Syntax

data IfaceClassBody #

Instances

Instances details
NFData IfaceClassBody # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceClassBody -> ()

data IfaceBang #

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 GHC.Iface.Syntax

Methods

rnf :: IfaceBang -> ()

Binary IfaceBang # 
Instance details

Defined in GHC.Iface.Syntax

data IfaceSrcBang #

This corresponds to HsSrcBang

Instances

Instances details
NFData IfaceSrcBang # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceSrcBang -> ()

Binary IfaceSrcBang # 
Instance details

Defined in GHC.Iface.Syntax

data SrcUnpackedness #

Source Unpackedness

What unpackedness the user requested

Constructors

SrcUnpack

{-# UNPACK #-} specified

SrcNoUnpack

{-# NOUNPACK #-} specified

NoSrcUnpack

no unpack pragma

Instances

Instances details
Data SrcUnpackedness # 
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

Binary SrcUnpackedness # 
Instance details

Defined in GHC.Core.DataCon

Outputable SrcUnpackedness # 
Instance details

Defined in GHC.Core.DataCon

Methods

ppr :: SrcUnpackedness -> SDoc #

Eq SrcUnpackedness # 
Instance details

Defined in Language.Haskell.Syntax.Basic

data SrcStrictness #

Source Strictness

What strictness annotation the user wrote

Constructors

SrcLazy

Lazy, ie ~

SrcStrict

Strict, ie !

NoSrcStrict

no strictness annotation

Instances

Instances details
Data SrcStrictness # 
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

Binary SrcStrictness # 
Instance details

Defined in GHC.Core.DataCon

Outputable SrcStrictness # 
Instance details

Defined in GHC.Core.DataCon

Methods

ppr :: SrcStrictness -> SDoc #

Eq SrcStrictness # 
Instance details

Defined in Language.Haskell.Syntax.Basic

data IfaceAxBranch #

Instances

Instances details
NFData IfaceAxBranch # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceAxBranch -> ()

Binary IfaceAxBranch # 
Instance details

Defined in GHC.Iface.Syntax

data IfaceTyConParent #

Instances

Instances details
NFData IfaceTyConParent # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceTyConParent -> ()

Binary IfaceTyConParent # 
Instance details

Defined in GHC.Iface.Syntax

Outputable IfaceTyConParent # 
Instance details

Defined in GHC.Iface.Syntax

Methods

ppr :: IfaceTyConParent -> SDoc #

data IfaceCompleteMatch #

Instances

Instances details
NFData IfaceCompleteMatch # 
Instance details

Defined in GHC.Iface.Syntax

Methods

rnf :: IfaceCompleteMatch -> ()

Binary IfaceCompleteMatch # 
Instance details

Defined in GHC.Iface.Syntax

Outputable IfaceCompleteMatch # 
Instance details

Defined in GHC.Iface.Syntax

data IfaceLFInfo #

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

Instances

Instances details
Binary IfaceLFInfo # 
Instance details

Defined in GHC.Iface.Syntax

Outputable IfaceLFInfo # 
Instance details

Defined in GHC.Iface.Syntax

Methods

ppr :: IfaceLFInfo -> SDoc #

Binding names

type IfaceTopBndr = Name #

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

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

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 #

Constructors

AltPpr (Maybe (OccName -> SDoc)) 

data ShowHowMuch #

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 GHC.Iface.Type

Methods

ppr :: ShowHowMuch -> SDoc #