Safe Haskell | None |
---|---|
Language | Haskell2010 |
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 #
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 #