packages feed

dependency 0.1.0.10 → 0.1.0.11

raw patch · 4 files changed

+14/−14 lines, 4 filesdep +lensdep −microlensdep ~base

Dependencies added: lens

Dependencies removed: microlens

Dependency ranges changed: base

Files

dependency.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.18 name: dependency-version: 0.1.0.10+version: 0.1.0.11 license: BSD3 license-file: LICENSE copyright: Copyright: (c) 2018 Vanessa McHale@@ -34,11 +34,11 @@     default-language: Haskell2010     ghc-options: -Wall     build-depends:-        base >=4.10 && <5,+        base >=4.11 && <5,         ansi-wl-pprint -any,         containers -any,         recursion-schemes -any,-        microlens -any,+        lens -any,         transformers -any,         binary -any,         deepseq -any,
src/Data/Dependency.hs view
@@ -74,7 +74,8 @@  buildSequence :: [Dependency] -> [[Dependency]] buildSequence = reverse . groupBy independent . sortDeps-    where independent (Dependency ln ls _) (Dependency ln' ls' _) = ln' `notElem` (fst <$> ls) && ln `notElem` (fst <$> ls')+    where independent (Dependency ln ls _) (Dependency ln' ls' _) =+            ln' `notElem` (fst <$> ls) && ln `notElem` (fst <$> ls')  iterateM :: (Monad m) => Int -> (a -> m a) -> a -> m [a] iterateM 0 _ _ = pure []@@ -87,15 +88,14 @@           n = length (toList ps)  saturateDeps' :: PackageSet Dependency -> Dependency -> DepM (S.Set Dependency)-saturateDeps' (PackageSet ps) dep = do-    deps <- sequence [ lookupMap lib ps | lib <- fst <$> _libDependencies dep ]-    list <- (:) dep <$> traverse (lookupSet Nothing mempty) deps-    pure $ S.fromList list+saturateDeps' (PackageSet ps) dep = S.fromList <$> list+    where list = (:) dep <$> (traverse (lookupSet Nothing mempty) =<< deps)+          deps = sequence [ lookupMap lib ps | lib <- fst <$> _libDependencies dep ]  run :: ResolveState a -> DepM a run = flip evalTardisT (id, mempty) . unResolve --- | Heuristics:+-- | Dependency resolution is guided by the following: -- -- 1. Always use a newer version when possible --@@ -107,9 +107,11 @@ -- -- 5. Specify an error if a package is not present --+-- 6. Present a solution whenever one exists.+-- -- This doesn't do any package resolution beyond versioning. resolveDependencies :: PackageSet Dependency -> [Dependency] -> DepM [[Dependency]]-resolveDependencies ps = select . getLatest <=< fmap (buildSequence . toList) . saturated+resolveDependencies ps = select . getLatest <=< fmap (buildSequence . toList) . saturate     where select = fmap (fmap (fmap snd))-          saturated dep = S.unions <$> traverse (saturateDeps ps) dep+          saturate = fmap S.unions . traverse (saturateDeps ps)           getLatest = run . traverse (traverse (latest ps))
src/Data/Dependency/Sort.hs view
@@ -1,10 +1,9 @@ module Data.Dependency.Sort ( sortDeps                             ) where +import           Control.Lens import           Data.Dependency.Type import           Data.Graph-import           Lens.Micro-import           Lens.Micro.Extras  asGraph :: [Dependency] -> (Graph, Vertex -> Dependency) asGraph ds = (f triple, keys)
src/Data/Dependency/Type.hs view
@@ -33,7 +33,6 @@ import           Data.Functor.Foldable.TH import           Data.List                    (intercalate) import qualified Data.Map                     as M-import           Data.Semigroup import qualified Data.Set                     as S import           GHC.Generics                 (Generic) import           Text.PrettyPrint.ANSI.Leijen hiding ((<$>), (<>))