ghc-8.10.7: The GHC API
Safe HaskellNone
LanguageHaskell2010

Hoopl.Collections

Documentation

class IsSet set where Source #

Associated Types

type ElemOf set Source #

Methods

setNull :: set -> Bool Source #

setSize :: set -> Int Source #

setMember :: ElemOf set -> set -> Bool Source #

setEmpty :: set Source #

setSingleton :: ElemOf set -> set Source #

setInsert :: ElemOf set -> set -> set Source #

setDelete :: ElemOf set -> set -> set Source #

setUnion :: set -> set -> set Source #

setDifference :: set -> set -> set Source #

setIntersection :: set -> set -> set Source #

setIsSubsetOf :: set -> set -> Bool Source #

setFilter :: (ElemOf set -> Bool) -> set -> set Source #

setFoldl :: (b -> ElemOf set -> b) -> b -> set -> b Source #

setFoldr :: (ElemOf set -> b -> b) -> b -> set -> b Source #

setElems :: set -> [ElemOf set] Source #

setFromList :: [ElemOf set] -> set Source #

Instances

Instances details
IsSet UniqueSet Source # 
Instance details

Defined in Hoopl.Collections

Associated Types

type ElemOf UniqueSet Source #

IsSet LabelSet Source # 
Instance details

Defined in Hoopl.Label

Associated Types

type ElemOf LabelSet Source #

setInsertList :: IsSet set => [ElemOf set] -> set -> set Source #

setDeleteList :: IsSet set => [ElemOf set] -> set -> set Source #

setUnions :: IsSet set => [set] -> set Source #

class IsMap map where Source #

Associated Types

type KeyOf map Source #

Methods

mapNull :: map a -> Bool Source #

mapSize :: map a -> Int Source #

mapMember :: KeyOf map -> map a -> Bool Source #

mapLookup :: KeyOf map -> map a -> Maybe a Source #

mapFindWithDefault :: a -> KeyOf map -> map a -> a Source #

mapEmpty :: map a Source #

mapSingleton :: KeyOf map -> a -> map a Source #

mapInsert :: KeyOf map -> a -> map a -> map a Source #

mapInsertWith :: (a -> a -> a) -> KeyOf map -> a -> map a -> map a Source #

mapDelete :: KeyOf map -> map a -> map a Source #

mapAlter :: (Maybe a -> Maybe a) -> KeyOf map -> map a -> map a Source #

mapAdjust :: (a -> a) -> KeyOf map -> map a -> map a Source #

mapUnion :: map a -> map a -> map a Source #

mapUnionWithKey :: (KeyOf map -> a -> a -> a) -> map a -> map a -> map a Source #

mapDifference :: map a -> map a -> map a Source #

mapIntersection :: map a -> map a -> map a Source #

mapIsSubmapOf :: Eq a => map a -> map a -> Bool Source #

mapMap :: (a -> b) -> map a -> map b Source #

mapMapWithKey :: (KeyOf map -> a -> b) -> map a -> map b Source #

mapFoldl :: (b -> a -> b) -> b -> map a -> b Source #

mapFoldr :: (a -> b -> b) -> b -> map a -> b Source #

mapFoldlWithKey :: (b -> KeyOf map -> a -> b) -> b -> map a -> b Source #

mapFoldMapWithKey :: Monoid m => (KeyOf map -> a -> m) -> map a -> m Source #

mapFilter :: (a -> Bool) -> map a -> map a Source #

mapFilterWithKey :: (KeyOf map -> a -> Bool) -> map a -> map a Source #

mapElems :: map a -> [a] Source #

mapKeys :: map a -> [KeyOf map] Source #

mapToList :: map a -> [(KeyOf map, a)] Source #

mapFromList :: [(KeyOf map, a)] -> map a Source #

mapFromListWith :: (a -> a -> a) -> [(KeyOf map, a)] -> map a Source #

Instances

Instances details
IsMap UniqueMap Source # 
Instance details

Defined in Hoopl.Collections

Associated Types

type KeyOf UniqueMap Source #

Methods

mapNull :: UniqueMap a -> Bool Source #

mapSize :: UniqueMap a -> Int Source #

mapMember :: KeyOf UniqueMap -> UniqueMap a -> Bool Source #

mapLookup :: KeyOf UniqueMap -> UniqueMap a -> Maybe a Source #

mapFindWithDefault :: a -> KeyOf UniqueMap -> UniqueMap a -> a Source #

mapEmpty :: UniqueMap a Source #

mapSingleton :: KeyOf UniqueMap -> a -> UniqueMap a Source #

mapInsert :: KeyOf UniqueMap -> a -> UniqueMap a -> UniqueMap a Source #

mapInsertWith :: (a -> a -> a) -> KeyOf UniqueMap -> a -> UniqueMap a -> UniqueMap a Source #

mapDelete :: KeyOf UniqueMap -> UniqueMap a -> UniqueMap a Source #

mapAlter :: (Maybe a -> Maybe a) -> KeyOf UniqueMap -> UniqueMap a -> UniqueMap a Source #

mapAdjust :: (a -> a) -> KeyOf UniqueMap -> UniqueMap a -> UniqueMap a Source #

mapUnion :: UniqueMap a -> UniqueMap a -> UniqueMap a Source #

mapUnionWithKey :: (KeyOf UniqueMap -> a -> a -> a) -> UniqueMap a -> UniqueMap a -> UniqueMap a Source #

mapDifference :: UniqueMap a -> UniqueMap a -> UniqueMap a Source #

mapIntersection :: UniqueMap a -> UniqueMap a -> UniqueMap a Source #

mapIsSubmapOf :: Eq a => UniqueMap a -> UniqueMap a -> Bool Source #

mapMap :: (a -> b) -> UniqueMap a -> UniqueMap b Source #

mapMapWithKey :: (KeyOf UniqueMap -> a -> b) -> UniqueMap a -> UniqueMap b Source #

mapFoldl :: (b -> a -> b) -> b -> UniqueMap a -> b Source #

mapFoldr :: (a -> b -> b) -> b -> UniqueMap a -> b Source #

mapFoldlWithKey :: (b -> KeyOf UniqueMap -> a -> b) -> b -> UniqueMap a -> b Source #

mapFoldMapWithKey :: Monoid m => (KeyOf UniqueMap -> a -> m) -> UniqueMap a -> m Source #

mapFilter :: (a -> Bool) -> UniqueMap a -> UniqueMap a Source #

mapFilterWithKey :: (KeyOf UniqueMap -> a -> Bool) -> UniqueMap a -> UniqueMap a Source #

mapElems :: UniqueMap a -> [a] Source #

mapKeys :: UniqueMap a -> [KeyOf UniqueMap] Source #

mapToList :: UniqueMap a -> [(KeyOf UniqueMap, a)] Source #

mapFromList :: [(KeyOf UniqueMap, a)] -> UniqueMap a Source #

mapFromListWith :: (a -> a -> a) -> [(KeyOf UniqueMap, a)] -> UniqueMap a Source #

IsMap LabelMap Source # 
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 #

mapInsertList :: IsMap map => [(KeyOf map, a)] -> map a -> map a Source #

mapDeleteList :: IsMap map => [KeyOf map] -> map a -> map a Source #

mapUnions :: IsMap map => [map a] -> map a Source #

data UniqueMap v Source #

Instances

Instances details
Functor UniqueMap Source # 
Instance details

Defined in Hoopl.Collections

Methods

fmap :: (a -> b) -> UniqueMap a -> UniqueMap b Source #

(<$) :: a -> UniqueMap b -> UniqueMap a Source #

Foldable UniqueMap Source # 
Instance details

Defined in Hoopl.Collections

Methods

fold :: Monoid m => UniqueMap m -> m Source #

foldMap :: Monoid m => (a -> m) -> UniqueMap a -> m Source #

foldMap' :: Monoid m => (a -> m) -> UniqueMap a -> m Source #

foldr :: (a -> b -> b) -> b -> UniqueMap a -> b Source #

foldr' :: (a -> b -> b) -> b -> UniqueMap a -> b Source #

foldl :: (b -> a -> b) -> b -> UniqueMap a -> b Source #

foldl' :: (b -> a -> b) -> b -> UniqueMap a -> b Source #

foldr1 :: (a -> a -> a) -> UniqueMap a -> a Source #

foldl1 :: (a -> a -> a) -> UniqueMap a -> a Source #

toList :: UniqueMap a -> [a] Source #

null :: UniqueMap a -> Bool Source #

length :: UniqueMap a -> Int Source #

elem :: Eq a => a -> UniqueMap a -> Bool Source #

maximum :: Ord a => UniqueMap a -> a Source #

minimum :: Ord a => UniqueMap a -> a Source #

sum :: Num a => UniqueMap a -> a Source #

product :: Num a => UniqueMap a -> a Source #

Traversable UniqueMap Source # 
Instance details

Defined in Hoopl.Collections

Methods

traverse :: Applicative f => (a -> f b) -> UniqueMap a -> f (UniqueMap b) Source #

sequenceA :: Applicative f => UniqueMap (f a) -> f (UniqueMap a) Source #

mapM :: Monad m => (a -> m b) -> UniqueMap a -> m (UniqueMap b) Source #

sequence :: Monad m => UniqueMap (m a) -> m (UniqueMap a) Source #

IsMap UniqueMap Source # 
Instance details

Defined in Hoopl.Collections

Associated Types

type KeyOf UniqueMap Source #

Methods

mapNull :: UniqueMap a -> Bool Source #

mapSize :: UniqueMap a -> Int Source #

mapMember :: KeyOf UniqueMap -> UniqueMap a -> Bool Source #

mapLookup :: KeyOf UniqueMap -> UniqueMap a -> Maybe a Source #

mapFindWithDefault :: a -> KeyOf UniqueMap -> UniqueMap a -> a Source #

mapEmpty :: UniqueMap a Source #

mapSingleton :: KeyOf UniqueMap -> a -> UniqueMap a Source #

mapInsert :: KeyOf UniqueMap -> a -> UniqueMap a -> UniqueMap a Source #

mapInsertWith :: (a -> a -> a) -> KeyOf UniqueMap -> a -> UniqueMap a -> UniqueMap a Source #

mapDelete :: KeyOf UniqueMap -> UniqueMap a -> UniqueMap a Source #

mapAlter :: (Maybe a -> Maybe a) -> KeyOf UniqueMap -> UniqueMap a -> UniqueMap a Source #

mapAdjust :: (a -> a) -> KeyOf UniqueMap -> UniqueMap a -> UniqueMap a Source #

mapUnion :: UniqueMap a -> UniqueMap a -> UniqueMap a Source #

mapUnionWithKey :: (KeyOf UniqueMap -> a -> a -> a) -> UniqueMap a -> UniqueMap a -> UniqueMap a Source #

mapDifference :: UniqueMap a -> UniqueMap a -> UniqueMap a Source #

mapIntersection :: UniqueMap a -> UniqueMap a -> UniqueMap a Source #

mapIsSubmapOf :: Eq a => UniqueMap a -> UniqueMap a -> Bool Source #

mapMap :: (a -> b) -> UniqueMap a -> UniqueMap b Source #

mapMapWithKey :: (KeyOf UniqueMap -> a -> b) -> UniqueMap a -> UniqueMap b Source #

mapFoldl :: (b -> a -> b) -> b -> UniqueMap a -> b Source #

mapFoldr :: (a -> b -> b) -> b -> UniqueMap a -> b Source #

mapFoldlWithKey :: (b -> KeyOf UniqueMap -> a -> b) -> b -> UniqueMap a -> b Source #

mapFoldMapWithKey :: Monoid m => (KeyOf UniqueMap -> a -> m) -> UniqueMap a -> m Source #

mapFilter :: (a -> Bool) -> UniqueMap a -> UniqueMap a Source #

mapFilterWithKey :: (KeyOf UniqueMap -> a -> Bool) -> UniqueMap a -> UniqueMap a Source #

mapElems :: UniqueMap a -> [a] Source #

mapKeys :: UniqueMap a -> [KeyOf UniqueMap] Source #

mapToList :: UniqueMap a -> [(KeyOf UniqueMap, a)] Source #

mapFromList :: [(KeyOf UniqueMap, a)] -> UniqueMap a Source #

mapFromListWith :: (a -> a -> a) -> [(KeyOf UniqueMap, a)] -> UniqueMap a Source #

Eq v => Eq (UniqueMap v) Source # 
Instance details

Defined in Hoopl.Collections

Methods

(==) :: UniqueMap v -> UniqueMap v -> Bool #

(/=) :: UniqueMap v -> UniqueMap v -> Bool #

Ord v => Ord (UniqueMap v) Source # 
Instance details

Defined in Hoopl.Collections

Show v => Show (UniqueMap v) Source # 
Instance details

Defined in Hoopl.Collections

type KeyOf UniqueMap Source # 
Instance details

Defined in Hoopl.Collections

data UniqueSet Source #

Instances

Instances details
Eq UniqueSet Source # 
Instance details

Defined in Hoopl.Collections

Ord UniqueSet Source # 
Instance details

Defined in Hoopl.Collections

Show UniqueSet Source # 
Instance details

Defined in Hoopl.Collections

Semigroup UniqueSet Source # 
Instance details

Defined in Hoopl.Collections

Monoid UniqueSet Source # 
Instance details

Defined in Hoopl.Collections

IsSet UniqueSet Source # 
Instance details

Defined in Hoopl.Collections

Associated Types

type ElemOf UniqueSet Source #

type ElemOf UniqueSet Source # 
Instance details

Defined in Hoopl.Collections