Documentation
data DataflowLattice a Source
DataflowLattice | |
|
type JoinFun a = OldFact a -> NewFact a -> (ChangeFlag, a)Source
changeIf :: Bool -> ChangeFlagSource
FwdPass | |
|
type FwdTransfer n f = forall e x. n e x -> Fact e f -> Fact x fSource
type FwdRewrite n f = forall e x. n e x -> Fact e f -> Maybe (FwdRes n f e x)Source
type SimpleFwdRewrite n f = forall e x. n e x -> Fact e f -> Maybe (AGraph n e x)Source
noFwdRewrite :: FwdRewrite n fSource
thenFwdRw :: FwdRewrite n f -> FwdRewrite n f -> FwdRewrite n fSource
shallowFwdRw :: SimpleFwdRewrite n f -> FwdRewrite n fSource
deepFwdRw :: SimpleFwdRewrite n f -> FwdRewrite n fSource
iterFwdRw :: FwdRewrite n f -> FwdRewrite n fSource
BwdPass | |
|
type BwdTransfer n f = forall e x. n e x -> Fact x f -> Fact e fSource
type BwdRewrite n f = forall e x. n e x -> Fact x f -> Maybe (BwdRes n f e x)Source
type SimpleBwdRewrite n f = forall e x. n e x -> Fact x f -> Maybe (AGraph n e x)Source
noBwdRewrite :: BwdRewrite n fSource
thenBwdRw :: BwdRewrite n f -> BwdRewrite n f -> BwdRewrite n fSource
shallowBwdRw :: SimpleBwdRewrite n f -> BwdRewrite n fSource
deepBwdRw :: SimpleBwdRewrite n f -> BwdRewrite n fSource
iterBwdRw :: BwdRewrite n f -> BwdRewrite n fSource
analyzeAndRewriteFwd :: forall n f. Edges n => FwdPass n f -> Body n -> FactBase f -> FuelMonad (Body n, FactBase f)Source
analyzeAndRewriteBwd :: forall n f. Edges n => BwdPass n f -> Body n -> FactBase f -> FuelMonad (Body n, FactBase f)Source
runWithFuel :: Fuel -> FuelMonad a -> aSource
entryLabel :: thing C x -> LabelSource
successors :: thing e C -> [Label]Source
mkFactBase :: [(Label, f)] -> FactBase fSource
lookupFact :: FactBase f -> Label -> Maybe fSource
extendFactBase :: FactBase f -> Label -> f -> FactBase fSource
delFromFactBase :: FactBase f -> [(Label, a)] -> FactBase fSource
unionFactBase :: FactBase f -> FactBase f -> FactBase fSource
elemFactBase :: Label -> FactBase f -> BoolSource
factBaseLabels :: FactBase f -> [Label]Source
factBaseList :: FactBase f -> [(Label, f)]Source
extendLabelSet :: LabelSet -> Label -> LabelSetSource
reduceLabelSet :: LabelSet -> Label -> LabelSetSource
mkLabelSet :: [Label] -> LabelSetSource
elemLabelSet :: Label -> LabelSet -> BoolSource
labelSetElems :: LabelSet -> [Label]Source
minusLabelSet :: LabelSet -> LabelSet -> LabelSetSource
unionLabelSet :: LabelSet -> LabelSet -> LabelSetSource
interLabelSet :: LabelSet -> LabelSet -> LabelSetSource
sizeLabelSet :: LabelSet -> IntSource
emptyAGraph :: AGraph n O OSource
emptyClosedAGraph :: AGraph n C CSource
withFreshLabels :: Labels l => (l -> AGraph n e x) -> AGraph n e xSource