Hoopl.Label

ghc-8.10.4: The GHC API

Safe Haskell | None
Language | Haskell2010

Hoopl.Label

# Documentation

data Label Source #

#### Instances

Instances details

Eq Label # |
Instance details Defined in Hoopl.Label Methods (==) :: Label -> Label -> Bool # (/=) :: Label -> Label -> Bool #
Ord Label # |
Instance details Defined in Hoopl.Label Methods compare :: Label -> Label -> Ordering # (<) :: Label -> Label -> Bool # (<=) :: Label -> Label -> Bool # (>) :: Label -> Label -> Bool # (>=) :: Label -> Label -> Bool # max :: Label -> Label -> Label # min :: Label -> Label -> Label #
Show Label # |
Instance details Defined in Hoopl.Label Methods showsPrec :: Int -> Label -> ShowS Source # show :: Label -> String Source # showList :: [Label] -> ShowS Source #
Outputable Label # |
Instance details Defined in Hoopl.Label Methods ppr :: Label -> SDoc Source # pprPrec :: Rational -> Label -> SDoc Source #
Uniquable Label # |
Instance details Defined in Hoopl.Label Methods getUnique :: Label -> Unique Source #

data LabelMap v Source #

#### Instances

Instances details

Functor LabelMap # |
Instance details Defined in Hoopl.Label Methods fmap :: (a -> b) -> LabelMap a -> LabelMap b Source # (<$) :: a -> LabelMap b -> LabelMap a Source #
Foldable LabelMap # |
Instance details Defined in Hoopl.Label Methods fold :: Monoid m => LabelMap m -> m Source # foldMap :: Monoid m => (a -> m) -> LabelMap a -> m Source # foldMap' :: Monoid m => (a -> m) -> LabelMap a -> m Source # foldr :: (a -> b -> b) -> b -> LabelMap a -> b Source # foldr' :: (a -> b -> b) -> b -> LabelMap a -> b Source # foldl :: (b -> a -> b) -> b -> LabelMap a -> b Source # foldl' :: (b -> a -> b) -> b -> LabelMap a -> b Source # foldr1 :: (a -> a -> a) -> LabelMap a -> a Source # foldl1 :: (a -> a -> a) -> LabelMap a -> a Source # toList :: LabelMap a -> [a] Source # null :: LabelMap a -> Bool Source # length :: LabelMap a -> Int Source # elem :: Eq a => a -> LabelMap a -> Bool Source # maximum :: Ord a => LabelMap a -> a Source # minimum :: Ord a => LabelMap a -> a Source # sum :: Num a => LabelMap a -> a Source # product :: Num a => LabelMap a -> a Source #
Traversable LabelMap # |
Instance details Defined in Hoopl.Label Methods traverse :: Applicative f => (a -> f b) -> LabelMap a -> f (LabelMap b) Source # sequenceA :: Applicative f => LabelMap (f a) -> f (LabelMap a) Source # mapM :: Monad m => (a -> m b) -> LabelMap a -> m (LabelMap b) Source # sequence :: Monad m => LabelMap (m a) -> m (LabelMap a) Source #
IsMap LabelMap # |
Instance details Defined in Hoopl.Label Associated Types type KeyOf LabelMap Source # Methods mapNull :: LabelMap a -> Bool Source # mapSize :: LabelMap a -> Int Source # mapMember :: KeyOf LabelMap -> LabelMap a -> Bool Source # mapLookup :: KeyOf LabelMap -> LabelMap a -> Maybe a Source # mapFindWithDefault :: a -> KeyOf LabelMap -> LabelMap a -> a Source # mapEmpty :: LabelMap a Source # mapSingleton :: KeyOf LabelMap -> a -> LabelMap a Source # mapInsert :: KeyOf LabelMap -> a -> LabelMap a -> LabelMap a Source # mapInsertWith :: (a -> a -> a) -> KeyOf LabelMap -> a -> LabelMap a -> LabelMap a Source # mapDelete :: KeyOf LabelMap -> LabelMap a -> LabelMap a Source # mapAlter :: (Maybe a -> Maybe a) -> KeyOf LabelMap -> LabelMap a -> LabelMap a Source # mapAdjust :: (a -> a) -> KeyOf LabelMap -> LabelMap a -> LabelMap a Source # mapUnion :: LabelMap a -> LabelMap a -> LabelMap a Source # mapUnionWithKey :: (KeyOf LabelMap -> a -> a -> a) -> LabelMap a -> LabelMap a -> LabelMap a Source # mapDifference :: LabelMap a -> LabelMap a -> LabelMap a Source # mapIntersection :: LabelMap a -> LabelMap a -> LabelMap a Source # mapIsSubmapOf :: Eq a => LabelMap a -> LabelMap a -> Bool Source # mapMap :: (a -> b) -> LabelMap a -> LabelMap b Source # mapMapWithKey :: (KeyOf LabelMap -> a -> b) -> LabelMap a -> LabelMap b Source # mapFoldl :: (b -> a -> b) -> b -> LabelMap a -> b Source # mapFoldr :: (a -> b -> b) -> b -> LabelMap a -> b Source # mapFoldlWithKey :: (b -> KeyOf LabelMap -> a -> b) -> b -> LabelMap a -> b Source # mapFoldMapWithKey :: Monoid m => (KeyOf LabelMap -> a -> m) -> LabelMap a -> m Source # mapFilter :: (a -> Bool) -> LabelMap a -> LabelMap a Source # mapFilterWithKey :: (KeyOf LabelMap -> a -> Bool) -> LabelMap a -> LabelMap a Source # mapElems :: LabelMap a -> [a] Source # mapKeys :: LabelMap a -> [KeyOf LabelMap] Source # mapToList :: LabelMap a -> [(KeyOf LabelMap, a)] Source # mapFromList :: [(KeyOf LabelMap, a)] -> LabelMap a Source # mapFromListWith :: (a -> a -> a) -> [(KeyOf LabelMap, a)] -> LabelMap a Source #
TrieMap LabelMap # |
Instance details Defined in Hoopl.Label Associated Types type Key LabelMap Source # Methods emptyTM :: LabelMap a Source # lookupTM :: Key LabelMap -> LabelMap b -> Maybe b Source # alterTM :: Key LabelMap -> XT b -> LabelMap b -> LabelMap b Source # mapTM :: (a -> b) -> LabelMap a -> LabelMap b Source # foldTM :: (a -> b -> b) -> LabelMap a -> b -> b Source #
Eq v => Eq (LabelMap v) # |
Instance details Defined in Hoopl.Label Methods (==) :: LabelMap v -> LabelMap v -> Bool # (/=) :: LabelMap v -> LabelMap v -> Bool #
Ord v => Ord (LabelMap v) # |
Instance details Defined in Hoopl.Label Methods compare :: LabelMap v -> LabelMap v -> Ordering # (<) :: LabelMap v -> LabelMap v -> Bool # (<=) :: LabelMap v -> LabelMap v -> Bool # (>) :: LabelMap v -> LabelMap v -> Bool # (>=) :: LabelMap v -> LabelMap v -> Bool # max :: LabelMap v -> LabelMap v -> LabelMap v # min :: LabelMap v -> LabelMap v -> LabelMap v #
Show v => Show (LabelMap v) # |
Instance details Defined in Hoopl.Label Methods showsPrec :: Int -> LabelMap v -> ShowS Source # show :: LabelMap v -> String Source # showList :: [LabelMap v] -> ShowS Source #
Outputable a => Outputable (LabelMap a) # |
Instance details Defined in Hoopl.Label Methods ppr :: LabelMap a -> SDoc Source # pprPrec :: Rational -> LabelMap a -> SDoc Source #
type KeyOf LabelMap # |
Instance details Defined in Hoopl.Label type KeyOf LabelMap = Label
type Key LabelMap # |
Instance details Defined in Hoopl.Label type Key LabelMap = Label

data LabelSet Source #

#### Instances

Instances details

Eq LabelSet # |
Instance details Defined in Hoopl.Label Methods (==) :: LabelSet -> LabelSet -> Bool # (/=) :: LabelSet -> LabelSet -> Bool #
Ord LabelSet # |
Instance details Defined in Hoopl.Label Methods compare :: LabelSet -> LabelSet -> Ordering # (<) :: LabelSet -> LabelSet -> Bool # (<=) :: LabelSet -> LabelSet -> Bool # (>) :: LabelSet -> LabelSet -> Bool # (>=) :: LabelSet -> LabelSet -> Bool # max :: LabelSet -> LabelSet -> LabelSet # min :: LabelSet -> LabelSet -> LabelSet #
Show LabelSet # |
Instance details Defined in Hoopl.Label Methods showsPrec :: Int -> LabelSet -> ShowS Source # show :: LabelSet -> String Source # showList :: [LabelSet] -> ShowS Source #
Semigroup LabelSet # |
Instance details Defined in Hoopl.Label Methods (<>) :: LabelSet -> LabelSet -> LabelSet Source # sconcat :: NonEmpty LabelSet -> LabelSet Source # stimes :: Integral b => b -> LabelSet -> LabelSet Source #
Monoid LabelSet # |
Instance details Defined in Hoopl.Label Methods mempty :: LabelSet Source # mappend :: LabelSet -> LabelSet -> LabelSet Source # mconcat :: [LabelSet] -> LabelSet Source #
IsSet LabelSet # |
Instance details Defined in Hoopl.Label Associated Types type ElemOf LabelSet Source # Methods setNull :: LabelSet -> Bool Source # setSize :: LabelSet -> Int Source # setMember :: ElemOf LabelSet -> LabelSet -> Bool Source # setEmpty :: LabelSet Source # setSingleton :: ElemOf LabelSet -> LabelSet Source # setInsert :: ElemOf LabelSet -> LabelSet -> LabelSet Source # setDelete :: ElemOf LabelSet -> LabelSet -> LabelSet Source # setUnion :: LabelSet -> LabelSet -> LabelSet Source # setDifference :: LabelSet -> LabelSet -> LabelSet Source # setIntersection :: LabelSet -> LabelSet -> LabelSet Source # setIsSubsetOf :: LabelSet -> LabelSet -> Bool Source # setFilter :: (ElemOf LabelSet -> Bool) -> LabelSet -> LabelSet Source # setFoldl :: (b -> ElemOf LabelSet -> b) -> b -> LabelSet -> b Source # setFoldr :: (ElemOf LabelSet -> b -> b) -> b -> LabelSet -> b Source # setElems :: LabelSet -> [ElemOf LabelSet] Source # setFromList :: [ElemOf LabelSet] -> LabelSet Source #
Outputable LabelSet # |
Instance details Defined in Hoopl.Label Methods ppr :: LabelSet -> SDoc Source # pprPrec :: Rational -> LabelSet -> SDoc Source #
type ElemOf LabelSet # |
Instance details Defined in Hoopl.Label type ElemOf LabelSet = Label

type FactBase f = LabelMap f Source #

lookupFact :: Label -> FactBase f -> Maybe f Source #

mkHooplLabel :: Int -> Label Source #