ghc-7.10.3: The GHC API

Safe Haskell | None
Language | Haskell2010

VarSet

Contents

- Var, Id and TyVar set types
  - Manipulating these sets

Synopsis

- type VarSet = UniqSet Var
- type IdSet = UniqSet Id
- type TyVarSet = UniqSet TyVar
- type CoVarSet = UniqSet CoVar
- emptyVarSet :: VarSet
- unitVarSet :: Var -> VarSet
- mkVarSet :: [Var] -> VarSet
- extendVarSet :: VarSet -> Var -> VarSet
- extendVarSetList :: VarSet -> [Var] -> VarSet
- extendVarSet_C :: (Var -> Var -> Var) -> VarSet -> Var -> VarSet
- elemVarSet :: Var -> VarSet -> Bool
- varSetElems :: VarSet -> [Var]
- subVarSet :: VarSet -> VarSet -> Bool
- unionVarSet :: VarSet -> VarSet -> VarSet
- unionVarSets :: [VarSet] -> VarSet
- mapUnionVarSet :: (a -> VarSet) -> [a] -> VarSet
- intersectVarSet :: VarSet -> VarSet -> VarSet
- intersectsVarSet :: VarSet -> VarSet -> Bool
- disjointVarSet :: VarSet -> VarSet -> Bool
- isEmptyVarSet :: VarSet -> Bool
- delVarSet :: VarSet -> Var -> VarSet
- delVarSetList :: VarSet -> [Var] -> VarSet
- delVarSetByKey :: VarSet -> Unique -> VarSet
- minusVarSet :: VarSet -> VarSet -> VarSet
- foldVarSet :: (Var -> a -> a) -> a -> VarSet -> a
- filterVarSet :: (Var -> Bool) -> VarSet -> VarSet
- fixVarSet :: (VarSet -> VarSet) -> VarSet -> VarSet
- lookupVarSet :: VarSet -> Var -> Maybe Var
- mapVarSet :: (Var -> Var) -> VarSet -> VarSet
- sizeVarSet :: VarSet -> Int
- seqVarSet :: VarSet -> ()
- elemVarSetByKey :: Unique -> VarSet -> Bool
- partitionVarSet :: (Var -> Bool) -> VarSet -> (VarSet, VarSet)

# Var, Id and TyVar set types

type VarSet = UniqSet Var

type IdSet = UniqSet Id

type TyVarSet = UniqSet TyVar

type CoVarSet = UniqSet CoVar

## Manipulating these sets

emptyVarSet :: VarSet

unitVarSet :: Var -> VarSet

mkVarSet :: [Var] -> VarSet

extendVarSet :: VarSet -> Var -> VarSet

extendVarSetList :: VarSet -> [Var] -> VarSet

extendVarSet_C :: (Var -> Var -> Var) -> VarSet -> Var -> VarSet

elemVarSet :: Var -> VarSet -> Bool

varSetElems :: VarSet -> [Var]

subVarSet :: VarSet -> VarSet -> Bool

unionVarSet :: VarSet -> VarSet -> VarSet

unionVarSets :: [VarSet] -> VarSet

mapUnionVarSet :: (a -> VarSet) -> [a] -> VarSet

map the function oer the list, and union the results

intersectVarSet :: VarSet -> VarSet -> VarSet

intersectsVarSet :: VarSet -> VarSet -> Bool

disjointVarSet :: VarSet -> VarSet -> Bool

isEmptyVarSet :: VarSet -> Bool

delVarSet :: VarSet -> Var -> VarSet

delVarSetList :: VarSet -> [Var] -> VarSet

delVarSetByKey :: VarSet -> Unique -> VarSet

minusVarSet :: VarSet -> VarSet -> VarSet

foldVarSet :: (Var -> a -> a) -> a -> VarSet -> a

filterVarSet :: (Var -> Bool) -> VarSet -> VarSet

fixVarSet :: (VarSet -> VarSet) -> VarSet -> VarSet

lookupVarSet :: VarSet -> Var -> Maybe Var

mapVarSet :: (Var -> Var) -> VarSet -> VarSet

sizeVarSet :: VarSet -> Int

seqVarSet :: VarSet -> ()

elemVarSetByKey :: Unique -> VarSet -> Bool

partitionVarSet :: (Var -> Bool) -> VarSet -> (VarSet, VarSet)