TrieMap

ghc-7.10.2: The GHC API

Safe Haskell | None
Language | Haskell2010

TrieMap

# Documentation

data CoreMap a Source

Instances

TrieMap CoreMap |
Outputable a => Outputable (CoreMap a) |
type Key CoreMap = CoreExpr |

emptyCoreMap :: CoreMap a Source

extendCoreMap :: CoreMap a -> CoreExpr -> a -> CoreMap a Source

lookupCoreMap :: CoreMap a -> CoreExpr -> Maybe a Source

foldCoreMap :: (a -> b -> b) -> b -> CoreMap a -> b Source

data TypeMap a Source

Instances

TrieMap TypeMap |
Outputable a => Outputable (TypeMap a) |
type Key TypeMap = Type |

emptyTypeMap :: TypeMap a Source

extendTypeMap :: TypeMap a -> Type -> a -> TypeMap a Source

lookupTypeMap :: TypeMap a -> Type -> Maybe a Source

foldTypeMap :: (a -> b -> b) -> b -> TypeMap a -> b Source

data CoercionMap a Source

Instances

TrieMap CoercionMap |
type Key CoercionMap = Coercion |

data MaybeMap m a Source

Instances

TrieMap m => TrieMap (MaybeMap m) |
type Key (MaybeMap m) = Maybe (Key m) |

data ListMap m a Source

Instances

TrieMap m => TrieMap (ListMap m) |
type Key (ListMap m) = [Key m] |

class TrieMap m where Source

Associated Types

type Key m :: * Source

Methods

emptyTM :: m a Source

lookupTM :: forall b. Key m -> m b -> Maybe b Source

alterTM :: forall b. Key m -> XT b -> m b -> m b Source

mapTM :: (a -> b) -> m a -> m b Source

foldTM :: (a -> b -> b) -> m a -> b -> b Source

Instances

TrieMap IntMap |
TrieMap UniqFM |
TrieMap TypeMap |
TrieMap CoercionMap |
TrieMap CoreMap |
Ord k => TrieMap (Map k) |
TrieMap m => TrieMap (ListMap m) |
TrieMap m => TrieMap (MaybeMap m) |

insertTM :: TrieMap m => Key m -> a -> m a -> m a Source

deleteTM :: TrieMap m => Key m -> m a -> m a Source

lookupTypeMapTyCon :: TypeMap a -> TyCon -> [a] Source