Safe Haskell | Safe |
---|---|
Language | Haskell98 |
- newtype Deps a = Deps {}
- depsMap :: Lens (Deps a) (Deps b) (Map a [a]) (Map b [b])
- mapDeps :: Ord b => (a -> b) -> Deps a -> Deps b
- dep :: a -> a -> Deps a
- deps :: a -> [a] -> Deps a
- inverse :: Ord a => Deps a -> Deps a
- newtype DepsError a = CyclicDeps [a]
- flatten :: Ord a => Deps a -> Either (DepsError a) (Deps a)
- selfDepend :: Deps a -> Deps a
- linearize :: Ord a => Deps a -> Either (DepsError a) [a]
Documentation
Dependency map
deps :: a -> [a] -> Deps a Source #
Make dependency for one target, note that order of dependencies is matter
inverse :: Ord a => Deps a -> Deps a Source #
Inverse dependencies, i.e. make map where keys are dependencies and elements are targets depends on it
CyclicDeps [a] | Dependency cycle, list is cycle, where last item depends on first |
flatten :: Ord a => Deps a -> Either (DepsError a) (Deps a) Source #
Flatten dependencies so that there will be no indirect dependencies
selfDepend :: Deps a -> Deps a Source #