From 649b50a9acfd9619b3ff9fc165fabe6477b4debc Mon Sep 17 00:00:00 2001 From: Duncan Coutts <duncan@community.haskell.org> Date: Tue, 21 Jul 2015 18:46:17 +0100 Subject: [PATCH] Trivial refactoring: consistently use Left (not Right) for the error --- cabal-install/Distribution/Client/Freeze.hs | 11 +++++------ cabal-install/Distribution/Client/InstallPlan.hs | 5 +++-- cabal-install/Distribution/Client/PlanIndex.hs | 12 ++++++------ 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/cabal-install/Distribution/Client/Freeze.hs b/cabal-install/Distribution/Client/Freeze.hs index 4d7d028d1b..f38512dbd5 100644 --- a/cabal-install/Distribution/Client/Freeze.hs +++ b/cabal-install/Distribution/Client/Freeze.hs @@ -197,16 +197,15 @@ pruneInstallPlan :: InstallPlan.InstallPlan -> [PackageSpecifier SourcePackage] -> [PlanPackage] pruneInstallPlan installPlan pkgSpecifiers = - mapLeft (removeSelf pkgIds . PackageIndex.allPackages) $ + either (const brokenPkgsErr) + (removeSelf pkgIds . PackageIndex.allPackages) $ InstallPlan.dependencyClosure installPlan pkgIds where pkgIds = [ packageId pkg | SpecificSourcePackage pkg <- pkgSpecifiers ] - mapLeft f (Left v) = f v - mapLeft _ (Right _) = error "planPackages: installPlan contains broken packages" removeSelf [thisPkg] = filter (\pp -> packageId pp /= thisPkg) - removeSelf _ = - error $ "internal error: 'pruneInstallPlan' given " - ++ "unexpected package specifiers!" + removeSelf _ = error $ "internal error: 'pruneInstallPlan' given " + ++ "unexpected package specifiers!" + brokenPkgsErr = error "planPackages: installPlan contains broken packages" freezePackages :: Package pkg => Verbosity -> [pkg] -> IO () diff --git a/cabal-install/Distribution/Client/InstallPlan.hs b/cabal-install/Distribution/Client/InstallPlan.hs index 6e9afb8006..91da634445 100644 --- a/cabal-install/Distribution/Client/InstallPlan.hs +++ b/cabal-install/Distribution/Client/InstallPlan.hs @@ -672,10 +672,11 @@ configuredPackageProblems platform cinfo -- | Compute the dependency closure of a _source_ package in a install plan -- --- See `Distribution.Simple.dependencyClosure` +-- See `Distribution.Client.PlanIndex.dependencyClosure` dependencyClosure :: InstallPlan -> [PackageIdentifier] - -> Either (PackageIndex PlanPackage) [(PlanPackage, [InstalledPackageId])] + -> Either [(PlanPackage, [InstalledPackageId])] + (PackageIndex PlanPackage) dependencyClosure installPlan pids = PlanIndex.dependencyClosure (planFakeMap installPlan) diff --git a/cabal-install/Distribution/Client/PlanIndex.hs b/cabal-install/Distribution/Client/PlanIndex.hs index 67c2801c0d..ca3be6fe36 100644 --- a/cabal-install/Distribution/Client/PlanIndex.hs +++ b/cabal-install/Distribution/Client/PlanIndex.hs @@ -27,7 +27,7 @@ import qualified Data.Graph as Graph import Data.Array ((!)) import Data.Map (Map) import Data.Maybe (isNothing, fromMaybe, fromJust) -import Data.Either (lefts) +import Data.Either (rights) #if !MIN_VERSION_base(4,8,0) import Data.Monoid (Monoid(..)) @@ -131,7 +131,7 @@ dependencyInconsistencies fakeMap indepGoals index = concatMap (dependencyInconsistencies' fakeMap) subplans where subplans :: [PackageIndex pkg] - subplans = lefts $ + subplans = rights $ map (dependencyClosure fakeMap index) (rootSets fakeMap indepGoals index) @@ -253,11 +253,11 @@ dependencyClosure :: (PackageFixedDeps pkg, HasInstalledPackageId pkg) => FakeMap -> PackageIndex pkg -> [InstalledPackageId] - -> Either (PackageIndex pkg) - [(pkg, [InstalledPackageId])] + -> Either [(pkg, [InstalledPackageId])] + (PackageIndex pkg) dependencyClosure fakeMap index pkgids0 = case closure mempty [] pkgids0 of - (completed, []) -> Left completed - (completed, _) -> Right (brokenPackages fakeMap completed) + (completed, []) -> Right completed + (completed, _) -> Left (brokenPackages fakeMap completed) where closure completed failed [] = (completed, failed) closure completed failed (pkgid:pkgids) = -- GitLab