| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
GHC.Core.Map.Expr
Synopsis
- data CoreMap a
 - emptyCoreMap :: CoreMap a
 - extendCoreMap :: CoreMap a -> CoreExpr -> a -> CoreMap a
 - lookupCoreMap :: CoreMap a -> CoreExpr -> Maybe a
 - foldCoreMap :: (a -> b -> b) -> b -> CoreMap a -> b
 - eqDeBruijnExpr :: DeBruijn CoreExpr -> DeBruijn CoreExpr -> Bool
 - eqCoreExpr :: CoreExpr -> CoreExpr -> Bool
 - class Functor m => TrieMap (m :: Type -> Type) where
 - insertTM :: TrieMap m => Key m -> a -> m a -> m a
 - deleteTM :: TrieMap m => Key m -> m a -> m a
 - lkDFreeVar :: Var -> DVarEnv a -> Maybe a
 - xtDFreeVar :: Var -> XT a -> DVarEnv a -> DVarEnv a
 - lkDNamed :: NamedThing n => n -> DNameEnv a -> Maybe a
 - xtDNamed :: NamedThing n => n -> XT a -> DNameEnv a -> DNameEnv a
 - (>.>) :: (a -> b) -> (b -> c) -> a -> c
 - (|>) :: a -> (a -> b) -> b
 - (|>>) :: TrieMap m2 => (XT (m2 a) -> m1 (m2 a) -> m1 (m2 a)) -> (m2 a -> m2 a) -> m1 (m2 a) -> m1 (m2 a)
 
Maps over Core expressions
CoreMap a is a map from CoreExpr to a.  If you are a client, this
 is the type you want.
Instances
| Functor CoreMap Source # | |
| TrieMap CoreMap Source # | |
Defined in GHC.Core.Map.Expr  | |
| Outputable a => Outputable (CoreMap a) Source # | |
| type Key CoreMap Source # | |
Defined in GHC.Core.Map.Expr  | |
emptyCoreMap :: CoreMap a Source #
foldCoreMap :: (a -> b -> b) -> b -> CoreMap a -> b Source #
Alpha equality
TrieMap class reexports
class Functor m => TrieMap (m :: Type -> Type) where Source #
Methods
lookupTM :: Key m -> m b -> Maybe b Source #
alterTM :: Key m -> XT b -> m b -> m b Source #
Instances
(|>>) :: TrieMap m2 => (XT (m2 a) -> m1 (m2 a) -> m1 (m2 a)) -> (m2 a -> m2 a) -> m1 (m2 a) -> m1 (m2 a) infixr 1 Source #