Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell98 |
Synopsis
- slice :: TaggedC c a => Config -> GInfo c a -> GInfo c a
- isTarget :: TaggedC c a => c a -> Bool
- data Elims a = Deps {
- depCuts :: !(HashSet a)
- depNonCuts :: !(HashSet a)
- elimVars :: TaggedC c a => Config -> GInfo c a -> ([CEdge], Elims KVar)
- elimDeps :: TaggedC c a => GInfo c a -> [CEdge] -> HashSet KVar -> HashSet Symbol -> CDeps
- kvEdges :: TaggedC c a => GInfo c a -> [CEdge]
- decompose :: TaggedC c a => GInfo c a -> KVComps
- graphStatistics :: TaggedC c a => Config -> GInfo c a -> IO ()
Remove Constraints that don't affect Targets
slice :: TaggedC c a => Config -> GInfo c a -> GInfo c a Source #
Compute constraints that transitively affect target constraints, and delete everything else from F.SInfo a
Predicate describing Targets
isTarget :: TaggedC c a => c a -> Bool Source #
DO NOT DELETE! sliceCSucc :: Slice -> CSucc sliceCSucc sl = i -> M.lookupDefault [] i im where im = M.fromList [(i, is) | (i,_,is) <- slEdges sl]
Eliminatable KVars
Generic Dependencies ------------------------------------------------------
Deps | |
|
elimVars :: TaggedC c a => Config -> GInfo c a -> ([CEdge], Elims KVar) Source #
Compute Dependencies and Cuts ---------------------------------------------
elimDeps :: TaggedC c a => GInfo c a -> [CEdge] -> HashSet KVar -> HashSet Symbol -> CDeps Source #
Eliminated Dependencies