ghc-7.8.4: The GHC API

Safe Haskell | None
Language | Haskell98

TrieMap

# Documentation

data CoreMap a

Instances

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

emptyCoreMap :: CoreMap a

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

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

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

data TypeMap a

Instances

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

emptyTypeMap :: TypeMap a

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

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

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

data CoercionMap a

Instances

TrieMap CoercionMap |
type Key CoercionMap = Coercion |

data MaybeMap m a

Instances

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

data ListMap m a

Instances

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

class TrieMap m where

Associated Types

type Key m :: *

Methods

emptyTM :: m a

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

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

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

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

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

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

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