ghc-dump-core-0.1.2.0: An AST and compiler plugin for dumping GHC's Core representation.
Safe HaskellNone
LanguageHaskell2010

GhcDump.Ast

Synopsis

Documentation

data Unique Source #

Constructors

Unique !Char !Int 

Instances

Instances details
Eq Unique Source # 
Instance details

Defined in GhcDump.Ast

Methods

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

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

Ord Unique Source # 
Instance details

Defined in GhcDump.Ast

Show Unique Source #

This is dependent upon GHC

Instance details

Defined in GhcDump.Ast

Generic Unique Source # 
Instance details

Defined in GhcDump.Ast

Associated Types

type Rep Unique :: Type -> Type #

Methods

from :: Unique -> Rep Unique x #

to :: Rep Unique x -> Unique #

Serialise Unique Source # 
Instance details

Defined in GhcDump.Ast

type Rep Unique Source # 
Instance details

Defined in GhcDump.Ast

type Rep Unique = D1 ('MetaData "Unique" "GhcDump.Ast" "ghc-dump-core-0.1.2.0-Dw57xESJX42JdfIEAClOIW" 'False) (C1 ('MetaCons "Unique" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Char) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int)))

data ExternalName Source #

Instances

Instances details
Eq ExternalName Source # 
Instance details

Defined in GhcDump.Ast

Ord ExternalName Source # 
Instance details

Defined in GhcDump.Ast

Show ExternalName Source # 
Instance details

Defined in GhcDump.Ast

Generic ExternalName Source # 
Instance details

Defined in GhcDump.Ast

Associated Types

type Rep ExternalName :: Type -> Type #

Serialise ExternalName Source # 
Instance details

Defined in GhcDump.Ast

type Rep ExternalName Source # 
Instance details

Defined in GhcDump.Ast

type Rep ExternalName = D1 ('MetaData "ExternalName" "GhcDump.Ast" "ghc-dump-core-0.1.2.0-Dw57xESJX42JdfIEAClOIW" 'False) (C1 ('MetaCons "ExternalName" 'PrefixI 'True) (S1 ('MetaSel ('Just "externalModuleName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ModuleName) :*: (S1 ('MetaSel ('Just "externalName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "externalUnique") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Unique))) :+: C1 ('MetaCons "ForeignCall" 'PrefixI 'False) (U1 :: Type -> Type))

newtype BinderId Source #

Constructors

BinderId Unique 

Instances

Instances details
Eq BinderId Source # 
Instance details

Defined in GhcDump.Ast

Ord BinderId Source # 
Instance details

Defined in GhcDump.Ast

Show BinderId Source # 
Instance details

Defined in GhcDump.Ast

Serialise BinderId Source # 
Instance details

Defined in GhcDump.Ast

newtype SBinder Source #

Constructors

SBndr 

Instances

Instances details
Eq SBinder Source # 
Instance details

Defined in GhcDump.Ast

Methods

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

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

Ord SBinder Source # 
Instance details

Defined in GhcDump.Ast

Show SBinder Source # 
Instance details

Defined in GhcDump.Ast

Generic SBinder Source # 
Instance details

Defined in GhcDump.Ast

Associated Types

type Rep SBinder :: Type -> Type #

Methods

from :: SBinder -> Rep SBinder x #

to :: Rep SBinder x -> SBinder #

Serialise SBinder Source # 
Instance details

Defined in GhcDump.Ast

type Rep SBinder Source # 
Instance details

Defined in GhcDump.Ast

type Rep SBinder = D1 ('MetaData "SBinder" "GhcDump.Ast" "ghc-dump-core-0.1.2.0-Dw57xESJX42JdfIEAClOIW" 'True) (C1 ('MetaCons "SBndr" 'PrefixI 'True) (S1 ('MetaSel ('Just "unSBndr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Binder' SBinder BinderId))))

newtype Binder Source #

Constructors

Bndr 

Instances

Instances details
Eq Binder Source # 
Instance details

Defined in GhcDump.Ast

Methods

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

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

Ord Binder Source # 
Instance details

Defined in GhcDump.Ast

Show Binder Source # 
Instance details

Defined in GhcDump.Ast

Generic Binder Source # 
Instance details

Defined in GhcDump.Ast

Associated Types

type Rep Binder :: Type -> Type #

Methods

from :: Binder -> Rep Binder x #

to :: Rep Binder x -> Binder #

Serialise Binder Source # 
Instance details

Defined in GhcDump.Ast

type Rep Binder Source # 
Instance details

Defined in GhcDump.Ast

type Rep Binder = D1 ('MetaData "Binder" "GhcDump.Ast" "ghc-dump-core-0.1.2.0-Dw57xESJX42JdfIEAClOIW" 'True) (C1 ('MetaCons "Bndr" 'PrefixI 'True) (S1 ('MetaSel ('Just "unBndr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Binder' Binder Binder))))

data Binder' bndr var Source #

Constructors

Binder 
TyBinder 

Fields

Instances

Instances details
(Eq var, Eq bndr) => Eq (Binder' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

(==) :: Binder' bndr var -> Binder' bndr var -> Bool #

(/=) :: Binder' bndr var -> Binder' bndr var -> Bool #

(Ord var, Ord bndr) => Ord (Binder' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

compare :: Binder' bndr var -> Binder' bndr var -> Ordering #

(<) :: Binder' bndr var -> Binder' bndr var -> Bool #

(<=) :: Binder' bndr var -> Binder' bndr var -> Bool #

(>) :: Binder' bndr var -> Binder' bndr var -> Bool #

(>=) :: Binder' bndr var -> Binder' bndr var -> Bool #

max :: Binder' bndr var -> Binder' bndr var -> Binder' bndr var #

min :: Binder' bndr var -> Binder' bndr var -> Binder' bndr var #

(Show var, Show bndr) => Show (Binder' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

showsPrec :: Int -> Binder' bndr var -> ShowS #

show :: Binder' bndr var -> String #

showList :: [Binder' bndr var] -> ShowS #

Generic (Binder' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Associated Types

type Rep (Binder' bndr var) :: Type -> Type #

Methods

from :: Binder' bndr var -> Rep (Binder' bndr var) x #

to :: Rep (Binder' bndr var) x -> Binder' bndr var #

(Serialise bndr, Serialise var) => Serialise (Binder' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

encode :: Binder' bndr var -> Encoding #

decode :: Decoder s (Binder' bndr var) #

encodeList :: [Binder' bndr var] -> Encoding #

decodeList :: Decoder s [Binder' bndr var] #

type Rep (Binder' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

type Rep (Binder' bndr var) = D1 ('MetaData "Binder'" "GhcDump.Ast" "ghc-dump-core-0.1.2.0-Dw57xESJX42JdfIEAClOIW" 'False) (C1 ('MetaCons "Binder" 'PrefixI 'True) ((S1 ('MetaSel ('Just "binderName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "binderId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 BinderId)) :*: (S1 ('MetaSel ('Just "binderIdInfo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (IdInfo bndr var)) :*: (S1 ('MetaSel ('Just "binderIdDetails") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IdDetails) :*: S1 ('MetaSel ('Just "binderType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type' bndr var))))) :+: C1 ('MetaCons "TyBinder" 'PrefixI 'True) (S1 ('MetaSel ('Just "binderName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: (S1 ('MetaSel ('Just "binderId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 BinderId) :*: S1 ('MetaSel ('Just "binderKind") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type' bndr var)))))

data IdInfo bndr var Source #

Instances

Instances details
(Eq var, Eq bndr) => Eq (IdInfo bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

(==) :: IdInfo bndr var -> IdInfo bndr var -> Bool #

(/=) :: IdInfo bndr var -> IdInfo bndr var -> Bool #

(Ord var, Ord bndr) => Ord (IdInfo bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

compare :: IdInfo bndr var -> IdInfo bndr var -> Ordering #

(<) :: IdInfo bndr var -> IdInfo bndr var -> Bool #

(<=) :: IdInfo bndr var -> IdInfo bndr var -> Bool #

(>) :: IdInfo bndr var -> IdInfo bndr var -> Bool #

(>=) :: IdInfo bndr var -> IdInfo bndr var -> Bool #

max :: IdInfo bndr var -> IdInfo bndr var -> IdInfo bndr var #

min :: IdInfo bndr var -> IdInfo bndr var -> IdInfo bndr var #

(Show var, Show bndr) => Show (IdInfo bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

showsPrec :: Int -> IdInfo bndr var -> ShowS #

show :: IdInfo bndr var -> String #

showList :: [IdInfo bndr var] -> ShowS #

Generic (IdInfo bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Associated Types

type Rep (IdInfo bndr var) :: Type -> Type #

Methods

from :: IdInfo bndr var -> Rep (IdInfo bndr var) x #

to :: Rep (IdInfo bndr var) x -> IdInfo bndr var #

(Serialise bndr, Serialise var) => Serialise (IdInfo bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

encode :: IdInfo bndr var -> Encoding #

decode :: Decoder s (IdInfo bndr var) #

encodeList :: [IdInfo bndr var] -> Encoding #

decodeList :: Decoder s [IdInfo bndr var] #

type Rep (IdInfo bndr var) Source # 
Instance details

Defined in GhcDump.Ast

type Rep (IdInfo bndr var) = D1 ('MetaData "IdInfo" "GhcDump.Ast" "ghc-dump-core-0.1.2.0-Dw57xESJX42JdfIEAClOIW" 'False) (C1 ('MetaCons "IdInfo" 'PrefixI 'True) (((S1 ('MetaSel ('Just "idiArity") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Just "idiIsOneShot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "idiUnfolding") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Unfolding bndr var)) :*: S1 ('MetaSel ('Just "idiInlinePragma") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text))) :*: ((S1 ('MetaSel ('Just "idiOccInfo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OccInfo) :*: S1 ('MetaSel ('Just "idiStrictnessSig") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "idiDemandSig") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "idiCallArity") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int)))))

data Unfolding bndr var Source #

Instances

Instances details
(Eq var, Eq bndr) => Eq (Unfolding bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

(==) :: Unfolding bndr var -> Unfolding bndr var -> Bool #

(/=) :: Unfolding bndr var -> Unfolding bndr var -> Bool #

(Ord var, Ord bndr) => Ord (Unfolding bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

compare :: Unfolding bndr var -> Unfolding bndr var -> Ordering #

(<) :: Unfolding bndr var -> Unfolding bndr var -> Bool #

(<=) :: Unfolding bndr var -> Unfolding bndr var -> Bool #

(>) :: Unfolding bndr var -> Unfolding bndr var -> Bool #

(>=) :: Unfolding bndr var -> Unfolding bndr var -> Bool #

max :: Unfolding bndr var -> Unfolding bndr var -> Unfolding bndr var #

min :: Unfolding bndr var -> Unfolding bndr var -> Unfolding bndr var #

(Show var, Show bndr) => Show (Unfolding bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

showsPrec :: Int -> Unfolding bndr var -> ShowS #

show :: Unfolding bndr var -> String #

showList :: [Unfolding bndr var] -> ShowS #

Generic (Unfolding bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Associated Types

type Rep (Unfolding bndr var) :: Type -> Type #

Methods

from :: Unfolding bndr var -> Rep (Unfolding bndr var) x #

to :: Rep (Unfolding bndr var) x -> Unfolding bndr var #

(Serialise bndr, Serialise var) => Serialise (Unfolding bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

encode :: Unfolding bndr var -> Encoding #

decode :: Decoder s (Unfolding bndr var) #

encodeList :: [Unfolding bndr var] -> Encoding #

decodeList :: Decoder s [Unfolding bndr var] #

type Rep (Unfolding bndr var) Source # 
Instance details

Defined in GhcDump.Ast

type Rep (Unfolding bndr var) = D1 ('MetaData "Unfolding" "GhcDump.Ast" "ghc-dump-core-0.1.2.0-Dw57xESJX42JdfIEAClOIW" 'False) ((C1 ('MetaCons "NoUnfolding" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BootUnfolding" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "OtherCon" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [AltCon])) :+: (C1 ('MetaCons "DFunUnfolding" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CoreUnfolding" 'PrefixI 'True) ((S1 ('MetaSel ('Just "unfTemplate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Expr' bndr var)) :*: S1 ('MetaSel ('Just "unfIsValue") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "unfIsConLike") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "unfIsWorkFree") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "unfGuidance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))))))

data OccInfo Source #

Constructors

OccManyOccs 
OccDead

introduced in GHC 8.2

OccOneOcc 
OccLoopBreaker 

Instances

Instances details
Eq OccInfo Source # 
Instance details

Defined in GhcDump.Ast

Methods

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

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

Ord OccInfo Source # 
Instance details

Defined in GhcDump.Ast

Show OccInfo Source # 
Instance details

Defined in GhcDump.Ast

Generic OccInfo Source # 
Instance details

Defined in GhcDump.Ast

Associated Types

type Rep OccInfo :: Type -> Type #

Methods

from :: OccInfo -> Rep OccInfo x #

to :: Rep OccInfo x -> OccInfo #

Serialise OccInfo Source # 
Instance details

Defined in GhcDump.Ast

type Rep OccInfo Source # 
Instance details

Defined in GhcDump.Ast

type Rep OccInfo = D1 ('MetaData "OccInfo" "GhcDump.Ast" "ghc-dump-core-0.1.2.0-Dw57xESJX42JdfIEAClOIW" 'False) ((C1 ('MetaCons "OccManyOccs" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OccDead" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "OccOneOcc" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OccLoopBreaker" 'PrefixI 'True) (S1 ('MetaSel ('Just "occStrongLoopBreaker") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))

data IdDetails Source #

Constructors

VanillaId 
RecSelId 
DataConWorkId 
DataConWrapId 
ClassOpId 
PrimOpId 
TickBoxOpId

FCallId (these are treated as ExternalNames since they have no binding site)

DFunId 
CoVarId 
JoinId

introduced in GHC 8.0

Fields

Instances

Instances details
Eq IdDetails Source # 
Instance details

Defined in GhcDump.Ast

Ord IdDetails Source # 
Instance details

Defined in GhcDump.Ast

Show IdDetails Source # 
Instance details

Defined in GhcDump.Ast

Generic IdDetails Source # 
Instance details

Defined in GhcDump.Ast

Associated Types

type Rep IdDetails :: Type -> Type #

Serialise IdDetails Source # 
Instance details

Defined in GhcDump.Ast

type Rep IdDetails Source # 
Instance details

Defined in GhcDump.Ast

type Rep IdDetails = D1 ('MetaData "IdDetails" "GhcDump.Ast" "ghc-dump-core-0.1.2.0-Dw57xESJX42JdfIEAClOIW" 'False) (((C1 ('MetaCons "VanillaId" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RecSelId" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "DataConWorkId" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "DataConWrapId" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ClassOpId" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "PrimOpId" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TickBoxOpId" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "DFunId" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CoVarId" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "JoinId" 'PrefixI 'True) (S1 ('MetaSel ('Just "joinIdArity") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int))))))

data Lit Source #

Instances

Instances details
Eq Lit Source # 
Instance details

Defined in GhcDump.Ast

Methods

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

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

Ord Lit Source # 
Instance details

Defined in GhcDump.Ast

Methods

compare :: Lit -> Lit -> Ordering #

(<) :: Lit -> Lit -> Bool #

(<=) :: Lit -> Lit -> Bool #

(>) :: Lit -> Lit -> Bool #

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

max :: Lit -> Lit -> Lit #

min :: Lit -> Lit -> Lit #

Show Lit Source # 
Instance details

Defined in GhcDump.Ast

Methods

showsPrec :: Int -> Lit -> ShowS #

show :: Lit -> String #

showList :: [Lit] -> ShowS #

Generic Lit Source # 
Instance details

Defined in GhcDump.Ast

Associated Types

type Rep Lit :: Type -> Type #

Methods

from :: Lit -> Rep Lit x #

to :: Rep Lit x -> Lit #

Serialise Lit Source # 
Instance details

Defined in GhcDump.Ast

type Rep Lit Source # 
Instance details

Defined in GhcDump.Ast

type Rep Lit = D1 ('MetaData "Lit" "GhcDump.Ast" "ghc-dump-core-0.1.2.0-Dw57xESJX42JdfIEAClOIW" 'False) (((C1 ('MetaCons "MachChar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Char)) :+: (C1 ('MetaCons "MachStr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)) :+: C1 ('MetaCons "MachNullAddr" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "MachInt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)) :+: (C1 ('MetaCons "MachInt64" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)) :+: C1 ('MetaCons "MachWord" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer))))) :+: ((C1 ('MetaCons "MachWord64" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)) :+: (C1 ('MetaCons "MachFloat" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rational)) :+: C1 ('MetaCons "MachDouble" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rational)))) :+: ((C1 ('MetaCons "MachLabel" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :+: C1 ('MetaCons "LitInteger" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer))) :+: (C1 ('MetaCons "LitNatural" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)) :+: C1 ('MetaCons "LitRubbish" 'PrefixI 'False) (U1 :: Type -> Type)))))

data TyCon Source #

Constructors

TyCon !Text !Unique 

Instances

Instances details
Eq TyCon Source # 
Instance details

Defined in GhcDump.Ast

Methods

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

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

Ord TyCon Source # 
Instance details

Defined in GhcDump.Ast

Methods

compare :: TyCon -> TyCon -> Ordering #

(<) :: TyCon -> TyCon -> Bool #

(<=) :: TyCon -> TyCon -> Bool #

(>) :: TyCon -> TyCon -> Bool #

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

max :: TyCon -> TyCon -> TyCon #

min :: TyCon -> TyCon -> TyCon #

Show TyCon Source # 
Instance details

Defined in GhcDump.Ast

Methods

showsPrec :: Int -> TyCon -> ShowS #

show :: TyCon -> String #

showList :: [TyCon] -> ShowS #

Generic TyCon Source # 
Instance details

Defined in GhcDump.Ast

Associated Types

type Rep TyCon :: Type -> Type #

Methods

from :: TyCon -> Rep TyCon x #

to :: Rep TyCon x -> TyCon #

Serialise TyCon Source # 
Instance details

Defined in GhcDump.Ast

type Rep TyCon Source # 
Instance details

Defined in GhcDump.Ast

type Rep TyCon = D1 ('MetaData "TyCon" "GhcDump.Ast" "ghc-dump-core-0.1.2.0-Dw57xESJX42JdfIEAClOIW" 'False) (C1 ('MetaCons "TyCon" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Unique)))

data Type' bndr var Source #

Constructors

VarTy var 
FunTy (Type' bndr var) (Type' bndr var) 
TyConApp TyCon [Type' bndr var] 
AppTy (Type' bndr var) (Type' bndr var) 
ForAllTy bndr (Type' bndr var) 
LitTy 
CoercionTy 

Instances

Instances details
(Eq var, Eq bndr) => Eq (Type' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

(==) :: Type' bndr var -> Type' bndr var -> Bool #

(/=) :: Type' bndr var -> Type' bndr var -> Bool #

(Ord var, Ord bndr) => Ord (Type' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

compare :: Type' bndr var -> Type' bndr var -> Ordering #

(<) :: Type' bndr var -> Type' bndr var -> Bool #

(<=) :: Type' bndr var -> Type' bndr var -> Bool #

(>) :: Type' bndr var -> Type' bndr var -> Bool #

(>=) :: Type' bndr var -> Type' bndr var -> Bool #

max :: Type' bndr var -> Type' bndr var -> Type' bndr var #

min :: Type' bndr var -> Type' bndr var -> Type' bndr var #

(Show var, Show bndr) => Show (Type' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

showsPrec :: Int -> Type' bndr var -> ShowS #

show :: Type' bndr var -> String #

showList :: [Type' bndr var] -> ShowS #

Generic (Type' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Associated Types

type Rep (Type' bndr var) :: Type -> Type #

Methods

from :: Type' bndr var -> Rep (Type' bndr var) x #

to :: Rep (Type' bndr var) x -> Type' bndr var #

(Serialise bndr, Serialise var) => Serialise (Type' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

encode :: Type' bndr var -> Encoding #

decode :: Decoder s (Type' bndr var) #

encodeList :: [Type' bndr var] -> Encoding #

decodeList :: Decoder s [Type' bndr var] #

type Rep (Type' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

type Rep (Type' bndr var) = D1 ('MetaData "Type'" "GhcDump.Ast" "ghc-dump-core-0.1.2.0-Dw57xESJX42JdfIEAClOIW" 'False) ((C1 ('MetaCons "VarTy" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 var)) :+: (C1 ('MetaCons "FunTy" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type' bndr var)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type' bndr var))) :+: C1 ('MetaCons "TyConApp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TyCon) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Type' bndr var])))) :+: ((C1 ('MetaCons "AppTy" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type' bndr var)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type' bndr var))) :+: C1 ('MetaCons "ForAllTy" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 bndr) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type' bndr var)))) :+: (C1 ('MetaCons "LitTy" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CoercionTy" 'PrefixI 'False) (U1 :: Type -> Type))))

data Module' bndr var Source #

Constructors

Module 

Instances

Instances details
(Show bndr, Show var) => Show (Module' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

showsPrec :: Int -> Module' bndr var -> ShowS #

show :: Module' bndr var -> String #

showList :: [Module' bndr var] -> ShowS #

Generic (Module' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Associated Types

type Rep (Module' bndr var) :: Type -> Type #

Methods

from :: Module' bndr var -> Rep (Module' bndr var) x #

to :: Rep (Module' bndr var) x -> Module' bndr var #

(Serialise bndr, Serialise var) => Serialise (Module' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

encode :: Module' bndr var -> Encoding #

decode :: Decoder s (Module' bndr var) #

encodeList :: [Module' bndr var] -> Encoding #

decodeList :: Decoder s [Module' bndr var] #

type Rep (Module' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

type Rep (Module' bndr var) = D1 ('MetaData "Module'" "GhcDump.Ast" "ghc-dump-core-0.1.2.0-Dw57xESJX42JdfIEAClOIW" 'False) (C1 ('MetaCons "Module" 'PrefixI 'True) (S1 ('MetaSel ('Just "moduleName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName) :*: (S1 ('MetaSel ('Just "modulePhase") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "moduleTopBindings") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TopBinding' bndr var]))))

moduleBindings :: Module' bndr var -> [(bndr, CoreStats, Expr' bndr var)] Source #

The binder story:

Things which might contain bound variables (e.g. expressions and types) have a type variable which is instantiated at BinderId in the serialised form or Binder after post-processing.

Note that bindings sites themselves are always Binders.

data Expr' bndr var Source #

Constructors

EVar var 
EVarGlobal ExternalName 
ELit Lit 
EApp (Expr' bndr var) (Expr' bndr var) 
ETyLam bndr (Expr' bndr var) 
ELam bndr (Expr' bndr var) 
ELet [(bndr, Expr' bndr var)] (Expr' bndr var) 
ECase (Expr' bndr var) bndr [Alt' bndr var] 
EType (Type' bndr var) 
ECoercion 

Instances

Instances details
(Eq var, Eq bndr) => Eq (Expr' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

(==) :: Expr' bndr var -> Expr' bndr var -> Bool #

(/=) :: Expr' bndr var -> Expr' bndr var -> Bool #

(Ord var, Ord bndr) => Ord (Expr' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

compare :: Expr' bndr var -> Expr' bndr var -> Ordering #

(<) :: Expr' bndr var -> Expr' bndr var -> Bool #

(<=) :: Expr' bndr var -> Expr' bndr var -> Bool #

(>) :: Expr' bndr var -> Expr' bndr var -> Bool #

(>=) :: Expr' bndr var -> Expr' bndr var -> Bool #

max :: Expr' bndr var -> Expr' bndr var -> Expr' bndr var #

min :: Expr' bndr var -> Expr' bndr var -> Expr' bndr var #

(Show var, Show bndr) => Show (Expr' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

showsPrec :: Int -> Expr' bndr var -> ShowS #

show :: Expr' bndr var -> String #

showList :: [Expr' bndr var] -> ShowS #

Generic (Expr' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Associated Types

type Rep (Expr' bndr var) :: Type -> Type #

Methods

from :: Expr' bndr var -> Rep (Expr' bndr var) x #

to :: Rep (Expr' bndr var) x -> Expr' bndr var #

(Serialise bndr, Serialise var) => Serialise (Expr' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

encode :: Expr' bndr var -> Encoding #

decode :: Decoder s (Expr' bndr var) #

encodeList :: [Expr' bndr var] -> Encoding #

decodeList :: Decoder s [Expr' bndr var] #

type Rep (Expr' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

type Rep (Expr' bndr var) = D1 ('MetaData "Expr'" "GhcDump.Ast" "ghc-dump-core-0.1.2.0-Dw57xESJX42JdfIEAClOIW" 'False) (((C1 ('MetaCons "EVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 var)) :+: C1 ('MetaCons "EVarGlobal" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExternalName))) :+: (C1 ('MetaCons "ELit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Lit)) :+: (C1 ('MetaCons "EApp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Expr' bndr var)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Expr' bndr var))) :+: C1 ('MetaCons "ETyLam" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 bndr) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Expr' bndr var)))))) :+: ((C1 ('MetaCons "ELam" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 bndr) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Expr' bndr var))) :+: C1 ('MetaCons "ELet" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(bndr, Expr' bndr var)]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Expr' bndr var)))) :+: (C1 ('MetaCons "ECase" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Expr' bndr var)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 bndr) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Alt' bndr var]))) :+: (C1 ('MetaCons "EType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type' bndr var))) :+: C1 ('MetaCons "ECoercion" 'PrefixI 'False) (U1 :: Type -> Type)))))

data Alt' bndr var Source #

Constructors

Alt 

Fields

Instances

Instances details
(Eq bndr, Eq var) => Eq (Alt' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

(==) :: Alt' bndr var -> Alt' bndr var -> Bool #

(/=) :: Alt' bndr var -> Alt' bndr var -> Bool #

(Ord bndr, Ord var) => Ord (Alt' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

compare :: Alt' bndr var -> Alt' bndr var -> Ordering #

(<) :: Alt' bndr var -> Alt' bndr var -> Bool #

(<=) :: Alt' bndr var -> Alt' bndr var -> Bool #

(>) :: Alt' bndr var -> Alt' bndr var -> Bool #

(>=) :: Alt' bndr var -> Alt' bndr var -> Bool #

max :: Alt' bndr var -> Alt' bndr var -> Alt' bndr var #

min :: Alt' bndr var -> Alt' bndr var -> Alt' bndr var #

(Show bndr, Show var) => Show (Alt' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

showsPrec :: Int -> Alt' bndr var -> ShowS #

show :: Alt' bndr var -> String #

showList :: [Alt' bndr var] -> ShowS #

Generic (Alt' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Associated Types

type Rep (Alt' bndr var) :: Type -> Type #

Methods

from :: Alt' bndr var -> Rep (Alt' bndr var) x #

to :: Rep (Alt' bndr var) x -> Alt' bndr var #

(Serialise bndr, Serialise var) => Serialise (Alt' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

encode :: Alt' bndr var -> Encoding #

decode :: Decoder s (Alt' bndr var) #

encodeList :: [Alt' bndr var] -> Encoding #

decodeList :: Decoder s [Alt' bndr var] #

type Rep (Alt' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

type Rep (Alt' bndr var) = D1 ('MetaData "Alt'" "GhcDump.Ast" "ghc-dump-core-0.1.2.0-Dw57xESJX42JdfIEAClOIW" 'False) (C1 ('MetaCons "Alt" 'PrefixI 'True) (S1 ('MetaSel ('Just "altCon") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 AltCon) :*: (S1 ('MetaSel ('Just "altBinders") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [bndr]) :*: S1 ('MetaSel ('Just "altRHS") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Expr' bndr var)))))

data AltCon Source #

Instances

Instances details
Eq AltCon Source # 
Instance details

Defined in GhcDump.Ast

Methods

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

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

Ord AltCon Source # 
Instance details

Defined in GhcDump.Ast

Show AltCon Source # 
Instance details

Defined in GhcDump.Ast

Generic AltCon Source # 
Instance details

Defined in GhcDump.Ast

Associated Types

type Rep AltCon :: Type -> Type #

Methods

from :: AltCon -> Rep AltCon x #

to :: Rep AltCon x -> AltCon #

Serialise AltCon Source # 
Instance details

Defined in GhcDump.Ast

type Rep AltCon Source # 
Instance details

Defined in GhcDump.Ast

type Rep AltCon = D1 ('MetaData "AltCon" "GhcDump.Ast" "ghc-dump-core-0.1.2.0-Dw57xESJX42JdfIEAClOIW" 'False) (C1 ('MetaCons "AltDataCon" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :+: (C1 ('MetaCons "AltLit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Lit)) :+: C1 ('MetaCons "AltDefault" 'PrefixI 'False) (U1 :: Type -> Type)))

data TopBinding' bndr var Source #

Constructors

NonRecTopBinding bndr CoreStats (Expr' bndr var) 
RecTopBinding [(bndr, CoreStats, Expr' bndr var)] 

Instances

Instances details
(Show bndr, Show var) => Show (TopBinding' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

showsPrec :: Int -> TopBinding' bndr var -> ShowS #

show :: TopBinding' bndr var -> String #

showList :: [TopBinding' bndr var] -> ShowS #

Generic (TopBinding' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Associated Types

type Rep (TopBinding' bndr var) :: Type -> Type #

Methods

from :: TopBinding' bndr var -> Rep (TopBinding' bndr var) x #

to :: Rep (TopBinding' bndr var) x -> TopBinding' bndr var #

(Serialise bndr, Serialise var) => Serialise (TopBinding' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

Methods

encode :: TopBinding' bndr var -> Encoding #

decode :: Decoder s (TopBinding' bndr var) #

encodeList :: [TopBinding' bndr var] -> Encoding #

decodeList :: Decoder s [TopBinding' bndr var] #

type Rep (TopBinding' bndr var) Source # 
Instance details

Defined in GhcDump.Ast

type Rep (TopBinding' bndr var) = D1 ('MetaData "TopBinding'" "GhcDump.Ast" "ghc-dump-core-0.1.2.0-Dw57xESJX42JdfIEAClOIW" 'False) (C1 ('MetaCons "NonRecTopBinding" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 bndr) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CoreStats) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Expr' bndr var)))) :+: C1 ('MetaCons "RecTopBinding" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(bndr, CoreStats, Expr' bndr var)])))

topBindings :: TopBinding' bndr var -> [(bndr, CoreStats, Expr' bndr var)] Source #

data CoreStats Source #

Constructors

CoreStats 

Fields

Instances

Instances details
Show CoreStats Source # 
Instance details

Defined in GhcDump.Ast

Generic CoreStats Source # 
Instance details

Defined in GhcDump.Ast

Associated Types

type Rep CoreStats :: Type -> Type #

Semigroup CoreStats Source # 
Instance details

Defined in GhcDump.Ast

Monoid CoreStats Source # 
Instance details

Defined in GhcDump.Ast

Serialise CoreStats Source # 
Instance details

Defined in GhcDump.Ast

type Rep CoreStats Source # 
Instance details

Defined in GhcDump.Ast

type Rep CoreStats = D1 ('MetaData "CoreStats" "GhcDump.Ast" "ghc-dump-core-0.1.2.0-Dw57xESJX42JdfIEAClOIW" 'False) (C1 ('MetaCons "CoreStats" 'PrefixI 'True) ((S1 ('MetaSel ('Just "csTerms") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Just "csTypes") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int)) :*: (S1 ('MetaSel ('Just "csCoercions") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: (S1 ('MetaSel ('Just "csValBinds") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Just "csJoinBinds") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int)))))