ghc-dump-core-0.1.0.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 # 

Methods

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

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

Ord Unique Source # 
Show Unique Source #

This is dependent upon GHC

Generic Unique Source # 

Associated Types

type Rep Unique :: * -> * #

Methods

from :: Unique -> Rep Unique x #

to :: Rep Unique x -> Unique #

Serialise Unique Source # 
type Rep Unique Source # 
type Rep Unique = D1 * (MetaData "Unique" "GhcDump.Ast" "ghc-dump-core-0.1.0.0-a8fs7kFY1DJXFgtL8EnPw" False) (C1 * (MetaCons "Unique" PrefixI False) ((:*:) * (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Char)) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Int))))

data ExternalName Source #

Instances

Eq ExternalName Source # 
Ord ExternalName Source # 
Show ExternalName Source # 
Generic ExternalName Source # 

Associated Types

type Rep ExternalName :: * -> * #

Serialise ExternalName Source # 
type Rep ExternalName Source # 
type Rep ExternalName = D1 * (MetaData "ExternalName" "GhcDump.Ast" "ghc-dump-core-0.1.0.0-a8fs7kFY1DJXFgtL8EnPw" False) ((:+:) * (C1 * (MetaCons "ExternalName" PrefixI True) ((:*:) * (S1 * (MetaSel (Just Symbol "externalModuleName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * ModuleName)) ((:*:) * (S1 * (MetaSel (Just Symbol "externalName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Text)) (S1 * (MetaSel (Just Symbol "externalUnique") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Unique))))) (C1 * (MetaCons "ForeignCall" PrefixI False) (U1 *)))

newtype SBinder Source #

Constructors

SBndr 

Instances

newtype Binder Source #

Constructors

Bndr 

Instances

Eq Binder Source # 

Methods

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

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

Ord Binder Source # 
Show Binder Source # 
Generic Binder Source # 

Associated Types

type Rep Binder :: * -> * #

Methods

from :: Binder -> Rep Binder x #

to :: Rep Binder x -> Binder #

Serialise Binder Source # 
type Rep Binder Source # 
type Rep Binder = D1 * (MetaData "Binder" "GhcDump.Ast" "ghc-dump-core-0.1.0.0-a8fs7kFY1DJXFgtL8EnPw" True) (C1 * (MetaCons "Bndr" PrefixI True) (S1 * (MetaSel (Just Symbol "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 # 

Methods

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

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

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

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 # 

Methods

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

show :: Binder' bndr var -> String #

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

Generic (Binder' bndr var) Source # 

Associated Types

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

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 # 

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 # 

data IdInfo bndr var Source #

Instances

(Eq bndr, Eq var) => Eq (IdInfo bndr var) Source # 

Methods

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

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

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

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 bndr, Show var) => Show (IdInfo bndr var) Source # 

Methods

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

show :: IdInfo bndr var -> String #

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

Generic (IdInfo bndr var) Source # 

Associated Types

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

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 # 

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 # 

data Unfolding bndr var Source #

Instances

(Eq var, Eq bndr) => Eq (Unfolding bndr var) Source # 

Methods

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

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

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

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 # 

Methods

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

show :: Unfolding bndr var -> String #

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

Generic (Unfolding bndr var) Source # 

Associated Types

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

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 # 

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

data OccInfo Source #

Constructors

OccManyOccs 
OccDead

introduced in GHC 8.2

OccOneOcc 
OccLoopBreaker 

Instances

Eq OccInfo Source # 

Methods

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

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

Ord OccInfo Source # 
Show OccInfo Source # 
Generic OccInfo Source # 

Associated Types

type Rep OccInfo :: * -> * #

Methods

from :: OccInfo -> Rep OccInfo x #

to :: Rep OccInfo x -> OccInfo #

Serialise OccInfo Source # 
type Rep OccInfo Source # 
type Rep OccInfo = D1 * (MetaData "OccInfo" "GhcDump.Ast" "ghc-dump-core-0.1.0.0-a8fs7kFY1DJXFgtL8EnPw" False) ((:+:) * ((:+:) * (C1 * (MetaCons "OccManyOccs" PrefixI False) (U1 *)) (C1 * (MetaCons "OccDead" PrefixI False) (U1 *))) ((:+:) * (C1 * (MetaCons "OccOneOcc" PrefixI False) (U1 *)) (C1 * (MetaCons "OccLoopBreaker" PrefixI True) (S1 * (MetaSel (Just Symbol "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 # 
Ord IdDetails Source # 
Show IdDetails Source # 
Generic IdDetails Source # 

Associated Types

type Rep IdDetails :: * -> * #

Serialise IdDetails Source # 
type Rep IdDetails Source # 
type Rep IdDetails = D1 * (MetaData "IdDetails" "GhcDump.Ast" "ghc-dump-core-0.1.0.0-a8fs7kFY1DJXFgtL8EnPw" False) ((:+:) * ((:+:) * ((:+:) * (C1 * (MetaCons "VanillaId" PrefixI False) (U1 *)) (C1 * (MetaCons "RecSelId" PrefixI False) (U1 *))) ((:+:) * (C1 * (MetaCons "DataConWorkId" PrefixI False) (U1 *)) ((:+:) * (C1 * (MetaCons "DataConWrapId" PrefixI False) (U1 *)) (C1 * (MetaCons "ClassOpId" PrefixI False) (U1 *))))) ((:+:) * ((:+:) * (C1 * (MetaCons "PrimOpId" PrefixI False) (U1 *)) (C1 * (MetaCons "TickBoxOpId" PrefixI False) (U1 *))) ((:+:) * (C1 * (MetaCons "DFunId" PrefixI False) (U1 *)) ((:+:) * (C1 * (MetaCons "CoVarId" PrefixI False) (U1 *)) (C1 * (MetaCons "JoinId" PrefixI True) (S1 * (MetaSel (Just Symbol "joinIdArity") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Int)))))))

data Lit Source #

Instances

Eq Lit Source # 

Methods

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

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

Ord Lit Source # 

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 # 

Methods

showsPrec :: Int -> Lit -> ShowS #

show :: Lit -> String #

showList :: [Lit] -> ShowS #

Generic Lit Source # 

Associated Types

type Rep Lit :: * -> * #

Methods

from :: Lit -> Rep Lit x #

to :: Rep Lit x -> Lit #

Serialise Lit Source # 
type Rep Lit Source # 
type Rep Lit = D1 * (MetaData "Lit" "GhcDump.Ast" "ghc-dump-core-0.1.0.0-a8fs7kFY1DJXFgtL8EnPw" False) ((:+:) * ((:+:) * ((:+:) * (C1 * (MetaCons "MachChar" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * Char))) (C1 * (MetaCons "MachStr" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * ByteString)))) ((:+:) * (C1 * (MetaCons "MachNullAddr" PrefixI False) (U1 *)) ((:+:) * (C1 * (MetaCons "MachInt" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * Integer))) (C1 * (MetaCons "MachInt64" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * Integer)))))) ((:+:) * ((:+:) * (C1 * (MetaCons "MachWord" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * Integer))) ((:+:) * (C1 * (MetaCons "MachWord64" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * Integer))) (C1 * (MetaCons "MachFloat" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * Rational))))) ((:+:) * (C1 * (MetaCons "MachDouble" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * Rational))) ((:+:) * (C1 * (MetaCons "MachLabel" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * Text))) (C1 * (MetaCons "LitInteger" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * Integer)))))))

data TyCon Source #

Constructors

TyCon !Text !Unique 

Instances

Eq TyCon Source # 

Methods

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

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

Ord TyCon Source # 

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 # 

Methods

showsPrec :: Int -> TyCon -> ShowS #

show :: TyCon -> String #

showList :: [TyCon] -> ShowS #

Generic TyCon Source # 

Associated Types

type Rep TyCon :: * -> * #

Methods

from :: TyCon -> Rep TyCon x #

to :: Rep TyCon x -> TyCon #

Serialise TyCon Source # 
type Rep TyCon Source # 
type Rep TyCon = D1 * (MetaData "TyCon" "GhcDump.Ast" "ghc-dump-core-0.1.0.0-a8fs7kFY1DJXFgtL8EnPw" False) (C1 * (MetaCons "TyCon" PrefixI False) ((:*:) * (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Text)) (S1 * (MetaSel (Nothing 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

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

Methods

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

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

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

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 bndr, Show var) => Show (Type' bndr var) Source # 

Methods

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

show :: Type' bndr var -> String #

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

Generic (Type' bndr var) Source # 

Associated Types

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

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 # 

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 # 

data Module' bndr var Source #

Constructors

Module 

Instances

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

Methods

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

show :: Module' bndr var -> String #

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

Generic (Module' bndr var) Source # 

Associated Types

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

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 # 

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 # 
type Rep (Module' bndr var) = D1 * (MetaData "Module'" "GhcDump.Ast" "ghc-dump-core-0.1.0.0-a8fs7kFY1DJXFgtL8EnPw" False) (C1 * (MetaCons "Module" PrefixI True) ((:*:) * (S1 * (MetaSel (Just Symbol "moduleName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * ModuleName)) ((:*:) * (S1 * (MetaSel (Just Symbol "modulePhase") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * Text)) (S1 * (MetaSel (Just Symbol "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 bndr, Eq var) => Eq (Expr' bndr var) Source # 

Methods

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

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

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

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 bndr, Show var) => Show (Expr' bndr var) Source # 

Methods

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

show :: Expr' bndr var -> String #

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

Generic (Expr' bndr var) Source # 

Associated Types

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

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 # 

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

data Alt' bndr var Source #

Constructors

Alt 

Fields

Instances

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

Methods

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

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

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

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 var, Show bndr) => Show (Alt' bndr var) Source # 

Methods

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

show :: Alt' bndr var -> String #

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

Generic (Alt' bndr var) Source # 

Associated Types

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

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 # 

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 # 
type Rep (Alt' bndr var) = D1 * (MetaData "Alt'" "GhcDump.Ast" "ghc-dump-core-0.1.0.0-a8fs7kFY1DJXFgtL8EnPw" False) (C1 * (MetaCons "Alt" PrefixI True) ((:*:) * (S1 * (MetaSel (Just Symbol "altCon") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * AltCon)) ((:*:) * (S1 * (MetaSel (Just Symbol "altBinders") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [bndr])) (S1 * (MetaSel (Just Symbol "altRHS") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Expr' bndr var))))))

data AltCon Source #

Instances

Eq AltCon Source # 

Methods

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

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

Ord AltCon Source # 
Show AltCon Source # 
Generic AltCon Source # 

Associated Types

type Rep AltCon :: * -> * #

Methods

from :: AltCon -> Rep AltCon x #

to :: Rep AltCon x -> AltCon #

Serialise AltCon Source # 
type Rep AltCon Source # 
type Rep AltCon = D1 * (MetaData "AltCon" "GhcDump.Ast" "ghc-dump-core-0.1.0.0-a8fs7kFY1DJXFgtL8EnPw" False) ((:+:) * (C1 * (MetaCons "AltDataCon" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Text))) ((:+:) * (C1 * (MetaCons "AltLit" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * Lit))) (C1 * (MetaCons "AltDefault" PrefixI False) (U1 *))))

data TopBinding' bndr var Source #

Constructors

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

Instances

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

Methods

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

show :: TopBinding' bndr var -> String #

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

Generic (TopBinding' bndr var) Source # 

Associated Types

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

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 # 

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 # 

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

data CoreStats Source #

Constructors

CoreStats 

Fields