ghc-dump-core-0.1.1.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
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.1.0-Ii5eCp5CM7N2eU9noEy0C2" 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
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.1.0-Ii5eCp5CM7N2eU9noEy0C2" 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
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
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.1.0-Ii5eCp5CM7N2eU9noEy0C2" True) (C1 (MetaCons "SBndr" PrefixI True) (S1 (MetaSel (Just "unSBndr") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Binder' SBinder BinderId))))

newtype Binder Source #

Constructors

Bndr 
Instances
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.1.0-Ii5eCp5CM7N2eU9noEy0C2" 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
(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

data IdInfo bndr var Source #

Instances
(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

data Unfolding bndr var Source #

Instances
(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.1.0-Ii5eCp5CM7N2eU9noEy0C2" 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
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.1.0-Ii5eCp5CM7N2eU9noEy0C2" 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
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.1.0-Ii5eCp5CM7N2eU9noEy0C2" 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
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.1.0-Ii5eCp5CM7N2eU9noEy0C2" 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))))))

data TyCon Source #

Constructors

TyCon !Text !Unique 
Instances
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

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
(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

data Module' bndr var Source #

Constructors

Module 
Instances
(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.1.0-Ii5eCp5CM7N2eU9noEy0C2" 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
(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.1.0-Ii5eCp5CM7N2eU9noEy0C2" 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
(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.1.0-Ii5eCp5CM7N2eU9noEy0C2" 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
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.1.0-Ii5eCp5CM7N2eU9noEy0C2" 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
(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

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

data CoreStats Source #

Constructors

CoreStats 

Fields

Instances
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