module DDC.Core.Exp.Annot
(
module DDC.Type.Exp
, Exp (..)
, Lets (..)
, Alt (..)
, Pat (..)
, Cast (..)
, Witness (..)
, DaCon (..)
, WiCon (..)
, module DDC.Type.Predicates
, isXVar, isXCon
, isAtomX, isAtomW
, isXLAM, isXLam
, isLambdaX
, isXApp
, isXCast
, isXCastBox
, isXCastRun
, isXLet
, isPDefault
, isXType
, isXWitness
, module DDC.Type.Compounds
, annotOfExp
, mapAnnotOfExp
, xLAMs
, xLams
, makeXLamFlags
, takeXLAMs
, takeXLams
, takeXLamFlags
, Param(..)
, takeXLamParam
, xApps
, makeXAppsWithAnnots
, takeXApps
, takeXApps1
, takeXAppsAsList
, takeXAppsWithAnnots
, takeXConApps
, takeXPrimApps
, xLets
, xLetsAnnot
, splitXLets
, splitXLetsAnnot
, bindsOfLets
, specBindsOfLets
, valwitBindsOfLets
, patOfAlt
, takeCtorNameOfAlt
, bindsOfPat
, makeRuns
, wApp
, wApps
, annotOfWitness
, takeXWitness
, takeWAppsAsList
, takePrimWiConApps
, takeXType
, xUnit, dcUnit
, takeNameOfDaCon
, takeTypeOfDaCon)
where
import DDC.Core.Exp.Annot.Exp
import DDC.Core.Exp.Annot.Compounds
import DDC.Core.Exp.Annot.Predicates
import DDC.Type.Compounds
import DDC.Type.Predicates
import DDC.Type.Exp