hs-di-0.2.2: Dependency Injection library for Haskell

Safe HaskellNone
LanguageHaskell2010

DependencyInjector

Documentation

data DepsG a Source

Constructors

Dep 

Fields

name :: a
 
src :: DepSrc
 
kind :: DepKind
 
cs :: [DepsG a]
 

Instances

Eq a => Eq (DepsG a) Source 
Ord a => Ord (DepsG a) Source 
Show a => Show (DepsG a) Source 

data DepSrc Source

Constructors

Original 
Replaced 

data DepKind Source

Constructors

Pure 
Monadic 

mapDepNames :: (a -> b) -> DepsG a -> DepsG b Source

mapDeps :: (DepsG a -> DepsG a) -> DepsG a -> DepsG a Source

mapChildren :: ([DepsG a] -> [DepsG a]) -> DepsG a -> DepsG a Source

overrideName :: Eq a => a -> a -> a -> a Source

overrideDep :: Eq a => a -> a -> DepsG a -> DepsG a Source

nameD :: [Char] -> [Char] Source

nameT :: [Char] -> [Char] Source

r :: Monad m => (a -> a1) -> a -> m a1 Source

inSetOrInsert :: Ord a => a -> Set a -> t -> (Set a -> t) -> t Source

inSet :: Ord a => Set a -> a -> (Set a -> (Pat, Set a)) -> (Pat, Set a) Source

getDep :: DepsG t -> (a -> [DepsG a] -> DepsG a, t, [DepsG t]) Source

orf :: (a -> Bool) -> (a -> Bool) -> a -> Bool Source

andf :: (a -> Bool) -> (a -> Bool) -> a -> Bool Source

depOP :: a -> [DepsG a] -> DepsG a Source