Hoopl.Collections

ghc-8.8.0.20190721: The GHC API

Safe Haskell | None
Language | Haskell2010

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 # |
Instance details Defined in Hoopl.Collections Associated Types type ElemOf UniqueSet Source # Methods setNull :: UniqueSet -> Bool Source # setSize :: UniqueSet -> Int Source # setMember :: ElemOf UniqueSet -> UniqueSet -> Bool Source # setEmpty :: UniqueSet Source # setSingleton :: ElemOf UniqueSet -> UniqueSet Source # setInsert :: ElemOf UniqueSet -> UniqueSet -> UniqueSet Source # setDelete :: ElemOf UniqueSet -> UniqueSet -> UniqueSet Source # setUnion :: UniqueSet -> UniqueSet -> UniqueSet Source # setDifference :: UniqueSet -> UniqueSet -> UniqueSet Source # setIntersection :: UniqueSet -> UniqueSet -> UniqueSet Source # setIsSubsetOf :: UniqueSet -> UniqueSet -> Bool Source # setFilter :: (ElemOf UniqueSet -> Bool) -> UniqueSet -> UniqueSet Source # setFoldl :: (b -> ElemOf UniqueSet -> b) -> b -> UniqueSet -> b Source # setFoldr :: (ElemOf UniqueSet -> b -> b) -> b -> UniqueSet -> b Source # setElems :: UniqueSet -> [ElemOf UniqueSet] Source # setFromList :: [ElemOf UniqueSet] -> UniqueSet 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 #

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 # |
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 # |
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 # |
Instance details Defined in Hoopl.Collections Methods fmap :: (a -> b) -> UniqueMap a -> UniqueMap b Source # (<$) :: a -> UniqueMap b -> UniqueMap a Source #
Foldable UniqueMap # |
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 # |
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 # |
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) # |
Instance details Defined in Hoopl.Collections Methods (==) :: UniqueMap v -> UniqueMap v -> Bool # (/=) :: UniqueMap v -> UniqueMap v -> Bool #
Ord v => Ord (UniqueMap v) # |
Instance details Defined in Hoopl.Collections Methods compare :: UniqueMap v -> UniqueMap v -> Ordering # (<) :: UniqueMap v -> UniqueMap v -> Bool # (<=) :: UniqueMap v -> UniqueMap v -> Bool # (>) :: UniqueMap v -> UniqueMap v -> Bool # (>=) :: UniqueMap v -> UniqueMap v -> Bool # max :: UniqueMap v -> UniqueMap v -> UniqueMap v # min :: UniqueMap v -> UniqueMap v -> UniqueMap v #
Show v => Show (UniqueMap v) # |
Instance details Defined in Hoopl.Collections Methods showsPrec :: Int -> UniqueMap v -> ShowS Source # show :: UniqueMap v -> String Source # showList :: [UniqueMap v] -> ShowS Source #
type KeyOf UniqueMap # |
Instance details Defined in Hoopl.Collections type KeyOf UniqueMap = Int

data UniqueSet Source #

#### Instances

Instances details

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