diff --git a/.hlint.yaml b/.hlint.yaml index a711cb638d0..d36e0e82057 100644 --- a/.hlint.yaml +++ b/.hlint.yaml @@ -11,7 +11,6 @@ - ignore: {name: "Redundant return"} # 7 hints - ignore: {name: "Use ++"} # 4 hints - ignore: {name: "Use :"} # 30 hints -- ignore: {name: "Use <$>"} # 83 hints - ignore: {name: "Use Down"} # 3 hints - ignore: {name: "Use camelCase"} # 92 hints - ignore: {name: "Use const"} # 36 hints diff --git a/Cabal-syntax/src/Distribution/Backpack.hs b/Cabal-syntax/src/Distribution/Backpack.hs index 6671b9fa053..e69f31c63ac 100644 --- a/Cabal-syntax/src/Distribution/Backpack.hs +++ b/Cabal-syntax/src/Distribution/Backpack.hs @@ -183,8 +183,7 @@ instance Parsec OpenModule where parsecOpenModule = do uid <- parsec _ <- P.char ':' - mod_name <- parsec - return (OpenModule uid mod_name) + OpenModule uid <$> parsec parsecModuleVar = do _ <- P.char '<' diff --git a/Cabal-syntax/src/Distribution/InstalledPackageInfo.hs b/Cabal-syntax/src/Distribution/InstalledPackageInfo.hs index 350b9fee757..74a31acd280 100644 --- a/Cabal-syntax/src/Distribution/InstalledPackageInfo.hs +++ b/Cabal-syntax/src/Distribution/InstalledPackageInfo.hs @@ -134,11 +134,11 @@ showFullInstalledPackageInfo = P.showFields (const NoComment) . prettyFieldGramm -- Just "maintainer: Tester" showInstalledPackageInfoField :: String -> Maybe (InstalledPackageInfo -> String) showInstalledPackageInfoField fn = - fmap (\g -> Disp.render . ppField fn . g) $ fieldDescrPretty ipiFieldGrammar (toUTF8BS fn) + (\g -> Disp.render . ppField fn . g) <$> fieldDescrPretty ipiFieldGrammar (toUTF8BS fn) showSimpleInstalledPackageInfoField :: String -> Maybe (InstalledPackageInfo -> String) showSimpleInstalledPackageInfoField fn = - fmap (Disp.renderStyle myStyle .) $ fieldDescrPretty ipiFieldGrammar (toUTF8BS fn) + (Disp.renderStyle myStyle .) <$> fieldDescrPretty ipiFieldGrammar (toUTF8BS fn) where myStyle = Disp.style{Disp.mode = Disp.LeftMode} diff --git a/Cabal-syntax/src/Distribution/SPDX/LicenseExpression.hs b/Cabal-syntax/src/Distribution/SPDX/LicenseExpression.hs index 3e5e0e13c22..0e3c49c3346 100644 --- a/Cabal-syntax/src/Distribution/SPDX/LicenseExpression.hs +++ b/Cabal-syntax/src/Distribution/SPDX/LicenseExpression.hs @@ -114,8 +114,7 @@ instance Parsec LicenseExpression where simple = do s <- parsec - exc <- exception - return $ ELicense s exc + ELicense s <$> exception exception = P.optional $ P.try (spaces1 *> P.string "WITH" *> spaces1) *> parsec diff --git a/Cabal-syntax/src/Distribution/System.hs b/Cabal-syntax/src/Distribution/System.hs index 793fe22c396..625dd797bac 100644 --- a/Cabal-syntax/src/Distribution/System.hs +++ b/Cabal-syntax/src/Distribution/System.hs @@ -297,8 +297,7 @@ instance Parsec Platform where parsec = do arch <- parsecDashlessArch _ <- P.char '-' - os <- parsec - return (Platform arch os) + Platform arch <$> parsec where parsecDashlessArch = classifyArch Strict <$> dashlessIdent diff --git a/Cabal-syntax/src/Distribution/Types/AbiDependency.hs b/Cabal-syntax/src/Distribution/Types/AbiDependency.hs index 90f182939c6..97990946565 100644 --- a/Cabal-syntax/src/Distribution/Types/AbiDependency.hs +++ b/Cabal-syntax/src/Distribution/Types/AbiDependency.hs @@ -34,8 +34,7 @@ instance Parsec AbiDependency where parsec = do uid <- parsec _ <- P.char '=' - abi <- parsec - return (AbiDependency uid abi) + AbiDependency uid <$> parsec instance Binary AbiDependency instance Structured AbiDependency diff --git a/Cabal-syntax/src/Distribution/Types/CondTree.hs b/Cabal-syntax/src/Distribution/Types/CondTree.hs index cefae9e53df..5569d54666d 100644 --- a/Cabal-syntax/src/Distribution/Types/CondTree.hs +++ b/Cabal-syntax/src/Distribution/Types/CondTree.hs @@ -119,9 +119,7 @@ traverseCondTreeV f (CondNode a ifs) = -- | @@Traversal@@ for the data traverseCondBranchA :: L.Traversal (CondBranch v a) (CondBranch v b) a b traverseCondBranchA f (CondBranch cnd t me) = - pure (CondBranch cnd) - <*> traverseCondTreeA f t - <*> traverse (traverseCondTreeA f) me + CondBranch cnd <$> traverseCondTreeA f t <*> traverse (traverseCondTreeA f) me -- | @@Traversal@@ for the variables traverseCondBranchV :: L.Traversal (CondBranch v a) (CondBranch w a) v w diff --git a/Cabal-syntax/src/Distribution/Types/GenericPackageDescription/Lens.hs b/Cabal-syntax/src/Distribution/Types/GenericPackageDescription/Lens.hs index a2a5da07cf0..cd04a9baeb5 100644 --- a/Cabal-syntax/src/Distribution/Types/GenericPackageDescription/Lens.hs +++ b/Cabal-syntax/src/Distribution/Types/GenericPackageDescription/Lens.hs @@ -79,10 +79,8 @@ allCondTrees -> GenericPackageDescription -> f GenericPackageDescription allCondTrees f (GenericPackageDescription p v a1 x1 x2 x3 x4 x5 x6) = - pure (GenericPackageDescription p) - <*> pure v - <*> pure a1 - <*> traverse f x1 + GenericPackageDescription p v a1 + <$> traverse f x1 <*> (traverse . _2) f x2 <*> (traverse . _2) f x3 <*> (traverse . _2) f x4 diff --git a/Cabal-syntax/src/Distribution/Types/Mixin.hs b/Cabal-syntax/src/Distribution/Types/Mixin.hs index 5a68f187a0e..ef41e49ad80 100644 --- a/Cabal-syntax/src/Distribution/Types/Mixin.hs +++ b/Cabal-syntax/src/Distribution/Types/Mixin.hs @@ -62,8 +62,7 @@ instance Parsec Mixin where versionGuardMultilibs LSubLibName <$> parsec P.spaces - incl <- parsec - return (mkMixin pn ln incl) + mkMixin pn ln <$> parsec versionGuardMultilibs :: CabalParsing m => m () versionGuardMultilibs = do diff --git a/Cabal-syntax/src/Distribution/Types/Module.hs b/Cabal-syntax/src/Distribution/Types/Module.hs index ad89475c715..fc82137d85a 100644 --- a/Cabal-syntax/src/Distribution/Types/Module.hs +++ b/Cabal-syntax/src/Distribution/Types/Module.hs @@ -35,8 +35,7 @@ instance Parsec Module where parsec = do uid <- parsec _ <- P.char ':' - mod_name <- parsec - return (Module uid mod_name) + Module uid <$> parsec instance NFData Module where rnf (Module uid mod_name) = rnf uid `seq` rnf mod_name diff --git a/Cabal-syntax/src/Distribution/Types/PackageDescription.hs b/Cabal-syntax/src/Distribution/Types/PackageDescription.hs index 87c5dca81a8..f824604e155 100644 --- a/Cabal-syntax/src/Distribution/Types/PackageDescription.hs +++ b/Cabal-syntax/src/Distribution/Types/PackageDescription.hs @@ -428,15 +428,15 @@ enabledComponents pkg enabled = filter (componentEnabled enabled) $ pkgBuildable lookupComponent :: PackageDescription -> ComponentName -> Maybe Component lookupComponent pkg (CLibName name) = - fmap CLib $ find ((name ==) . libName) (allLibraries pkg) + CLib <$> find ((name ==) . libName) (allLibraries pkg) lookupComponent pkg (CFLibName name) = - fmap CFLib $ find ((name ==) . foreignLibName) (foreignLibs pkg) + CFLib <$> find ((name ==) . foreignLibName) (foreignLibs pkg) lookupComponent pkg (CExeName name) = - fmap CExe $ find ((name ==) . exeName) (executables pkg) + CExe <$> find ((name ==) . exeName) (executables pkg) lookupComponent pkg (CTestName name) = - fmap CTest $ find ((name ==) . testName) (testSuites pkg) + CTest <$> find ((name ==) . testName) (testSuites pkg) lookupComponent pkg (CBenchName name) = - fmap CBench $ find ((name ==) . benchmarkName) (benchmarks pkg) + CBench <$> find ((name ==) . benchmarkName) (benchmarks pkg) getComponent :: PackageDescription -> ComponentName -> Component getComponent pkg cname = fromMaybe missingComponent (lookupComponent pkg cname) diff --git a/Cabal-syntax/src/Distribution/Types/VersionRange/Internal.hs b/Cabal-syntax/src/Distribution/Types/VersionRange/Internal.hs index 20956ec4540..fd41e4ff1c7 100644 --- a/Cabal-syntax/src/Distribution/Types/VersionRange/Internal.hs +++ b/Cabal-syntax/src/Distribution/Types/VersionRange/Internal.hs @@ -364,8 +364,7 @@ versionRangeParser digitParser csv = expr _ <- P.string "||" checkOp P.spaces - e <- expr - return (unionVersionRanges t e) + unionVersionRanges t <$> expr <|> return t term = do f <- factor @@ -374,8 +373,7 @@ versionRangeParser digitParser csv = expr _ <- P.string "&&" checkOp P.spaces - t <- term - return (intersectVersionRanges f t) + intersectVersionRanges f <$> term <|> return f factor = parens expr <|> prim diff --git a/Cabal-syntax/src/Distribution/Utils/MD5.hs b/Cabal-syntax/src/Distribution/Utils/MD5.hs index 3c91b6241ef..7f32f262d00 100644 --- a/Cabal-syntax/src/Distribution/Utils/MD5.hs +++ b/Cabal-syntax/src/Distribution/Utils/MD5.hs @@ -56,8 +56,7 @@ binaryPutMD5 (Fingerprint a b) = do binaryGetMD5 :: Get MD5 binaryGetMD5 = do a <- getWord64le - b <- getWord64le - return (Fingerprint a b) + Fingerprint a <$> getWord64le -- | -- diff --git a/Cabal/src/Distribution/Simple/GHC/Build/Link.hs b/Cabal/src/Distribution/Simple/GHC/Build/Link.hs index 52245a2760b..683c22426da 100644 --- a/Cabal/src/Distribution/Simple/GHC/Build/Link.hs +++ b/Cabal/src/Distribution/Simple/GHC/Build/Link.hs @@ -521,7 +521,7 @@ linkFLib flib bi lbi linkerOpts (way, buildOpts) targetDir runGhcProg = do { ghcOptLinkNoHsMain = toFlag True , ghcOptShared = toFlag True , ghcOptFPic = toFlag True - , ghcOptLinkModDefFiles = toNubListR $ fmap getSymbolicPath $ foreignLibModDefFile flib + , ghcOptLinkModDefFiles = toNubListR (getSymbolicPath <$> foreignLibModDefFile flib) } ForeignLibNativeStatic -> -- this should be caught by buildFLib diff --git a/Cabal/src/Distribution/Simple/GHCJS.hs b/Cabal/src/Distribution/Simple/GHCJS.hs index 74c64276ed5..73eed6eefde 100644 --- a/Cabal/src/Distribution/Simple/GHCJS.hs +++ b/Cabal/src/Distribution/Simple/GHCJS.hs @@ -1554,7 +1554,7 @@ gbuild verbosity numJobs pkg_descr lbi bm clbi = do , ghcOptLinkLibs = rtsOptLinkLibs , ghcOptLinkLibPath = toNubListR $ map makeSymbolicPath $ rtsLibPaths rtsInfo , ghcOptFPic = toFlag True - , ghcOptLinkModDefFiles = toNubListR $ fmap getSymbolicPath $ gbuildModDefFiles bm + , ghcOptLinkModDefFiles = toNubListR (getSymbolicPath <$> gbuildModDefFiles bm) } ForeignLibNativeStatic -> -- this should be caught by buildFLib diff --git a/Cabal/src/Distribution/Simple/InstallDirs.hs b/Cabal/src/Distribution/Simple/InstallDirs.hs index 0ccd1ef6e3a..c2db69a870d 100644 --- a/Cabal/src/Distribution/Simple/InstallDirs.hs +++ b/Cabal/src/Distribution/Simple/InstallDirs.hs @@ -73,7 +73,6 @@ import qualified Prelude import Foreign import Foreign.C #endif - -- --------------------------------------------------------------------------- -- Installation directories @@ -208,46 +207,47 @@ defaultInstallDirs' False comp userInstall _hasLibs = do case buildOS of Windows -> return "$prefix" _ -> return ("$prefix" "lib") - return $ - fmap toPathTemplate $ - InstallDirs - { prefix = installPrefix - , bindir = "$prefix" "bin" - , libdir = installLibDir - , libsubdir = case comp of - UHC -> "$pkgid" - _other -> "$abi" "$libname" - , dynlibdir = - "$libdir" case comp of + return + ( toPathTemplate + <$> InstallDirs + { prefix = installPrefix + , bindir = "$prefix" "bin" + , libdir = installLibDir + , libsubdir = case comp of UHC -> "$pkgid" - _other -> "$abi" - , bytecodelibdir = "$libdir" "$libsubdir" - , libexecsubdir = "$abi" "$pkgid" - , flibdir = "$libdir" - , libexecdir = case buildOS of - Windows -> "$prefix" "$libname" - Haiku -> "$libdir" - _other -> "$prefix" "libexec" - , includedir = case buildOS of - Haiku -> "$prefix" "develop" "headers" - _other -> "$libdir" "$libsubdir" "include" - , datadir = case buildOS of - Windows -> "$prefix" - Haiku -> "$prefix" "data" - _other -> "$prefix" "share" - , datasubdir = "$abi" "$pkgid" - , docdir = case buildOS of - Haiku -> "$prefix" "documentation" - _other -> "$datadir" "doc" "$abi" "$pkgid" - , mandir = case buildOS of - Haiku -> "$docdir" "man" - _other -> "$datadir" "man" - , htmldir = "$docdir" "html" - , haddockdir = "$htmldir" - , sysconfdir = case buildOS of - Haiku -> "boot" "system" "settings" - _other -> "$prefix" "etc" - } + _other -> "$abi" "$libname" + , dynlibdir = + "$libdir" case comp of + UHC -> "$pkgid" + _other -> "$abi" + , bytecodelibdir = "$libdir" "$libsubdir" + , libexecsubdir = "$abi" "$pkgid" + , flibdir = "$libdir" + , libexecdir = case buildOS of + Windows -> "$prefix" "$libname" + Haiku -> "$libdir" + _other -> "$prefix" "libexec" + , includedir = case buildOS of + Haiku -> "$prefix" "develop" "headers" + _other -> "$libdir" "$libsubdir" "include" + , datadir = case buildOS of + Windows -> "$prefix" + Haiku -> "$prefix" "data" + _other -> "$prefix" "share" + , datasubdir = "$abi" "$pkgid" + , docdir = case buildOS of + Haiku -> "$prefix" "documentation" + _other -> "$datadir" "doc" "$abi" "$pkgid" + , mandir = case buildOS of + Haiku -> "$docdir" "man" + _other -> "$datadir" "man" + , htmldir = "$docdir" "html" + , haddockdir = "$htmldir" + , sysconfdir = case buildOS of + Haiku -> "boot" "system" "settings" + _other -> "$prefix" "etc" + } + ) -- --------------------------------------------------------------------------- -- Converting directories, absolute or prefix-relative diff --git a/Cabal/src/Distribution/Simple/Program/Find.hs b/Cabal/src/Distribution/Simple/Program/Find.hs index f64c2bdaf0c..300794b59a2 100644 --- a/Cabal/src/Distribution/Simple/Program/Find.hs +++ b/Cabal/src/Distribution/Simple/Program/Find.hs @@ -180,9 +180,7 @@ programSearchPathAsPATHVar searchpath = do return (intercalate [searchPathSeparator] (concat ess)) where getEntries (ProgramSearchPathDir dir) = return [dir] - getEntries ProgramSearchPathDefault = do - env <- getEnvironment - return (maybe [] splitSearchPath (lookup "PATH" env)) + getEntries ProgramSearchPathDefault = maybe [] splitSearchPath . lookup "PATH" <$> getEnvironment -- | Get the system search path. On Unix systems this is just the @$PATH@ env -- var, but on windows it's a bit more complicated. diff --git a/Cabal/src/Distribution/Simple/Register.hs b/Cabal/src/Distribution/Simple/Register.hs index 7b35a5d0583..09449debc82 100644 --- a/Cabal/src/Distribution/Simple/Register.hs +++ b/Cabal/src/Distribution/Simple/Register.hs @@ -327,9 +327,9 @@ abiHash abiHash verbosity pkg distPref lbi lib clbi = case compilerFlavor comp of GHC -> do - fmap mkAbiHash $ GHC.libAbiHash verbosity pkg lbi' lib clbi + mkAbiHash <$> GHC.libAbiHash verbosity pkg lbi' lib clbi GHCJS -> do - fmap mkAbiHash $ GHCJS.libAbiHash verbosity pkg lbi' lib clbi + mkAbiHash <$> GHCJS.libAbiHash verbosity pkg lbi' lib clbi _ -> return (mkAbiHash "") where comp = compiler lbi @@ -713,8 +713,7 @@ relocatableInstalledPackageInfo pkg abi_hash lib lbi clbi pkgroot = bi = libBuildInfo lib installDirs = - fmap (("${pkgroot}" ) . shortRelativePath (getSymbolicPath pkgroot)) $ - absoluteComponentInstallDirs pkg lbi (componentUnitId clbi) NoCopyDest + ("${pkgroot}" ) . shortRelativePath (getSymbolicPath pkgroot) <$> absoluteComponentInstallDirs pkg lbi (componentUnitId clbi) NoCopyDest -- ----------------------------------------------------------------------------- -- Unregistration diff --git a/Cabal/src/Distribution/Simple/Setup/Config.hs b/Cabal/src/Distribution/Simple/Setup/Config.hs index 839241eed0f..c7d41554fb5 100644 --- a/Cabal/src/Distribution/Simple/Setup/Config.hs +++ b/Cabal/src/Distribution/Simple/Setup/Config.hs @@ -923,8 +923,7 @@ parsecPromisedComponent = do then LMainLibName else LSubLibName ucn _ <- P.char '=' - cid <- parsec - return $ PromisedComponent pn ln cid + PromisedComponent pn ln <$> parsec prettyPromisedComponent :: PromisedComponent -> String prettyPromisedComponent (PromisedComponent pn cn cid) = @@ -946,8 +945,7 @@ parsecGivenComponent = do then LMainLibName else LSubLibName ucn _ <- P.char '=' - cid <- parsec - return $ GivenComponent pn ln cid + GivenComponent pn ln <$> parsec prettyGivenComponent :: GivenComponent -> String prettyGivenComponent (GivenComponent pn cn cid) = diff --git a/Cabal/src/Distribution/Simple/SetupHooks/Errors.hs b/Cabal/src/Distribution/Simple/SetupHooks/Errors.hs index c763cda21dc..2e4e5736353 100644 --- a/Cabal/src/Distribution/Simple/SetupHooks/Errors.hs +++ b/Cabal/src/Distribution/Simple/SetupHooks/Errors.hs @@ -122,9 +122,7 @@ rulesExceptionMessage = \case showCycle :: (RuleBinary, [Graph.Tree RuleBinary]) -> String showCycle (r, rs) = unlines . map (" " ++) . lines $ - Tree.drawTree $ - fmap show $ - Tree.Node r rs + Tree.drawTree (show <$> Tree.Node r rs) CantFindSourceForRuleDependencies _r deps -> unlines $ ("Pre-build rules: can't find source for rule " ++ what ++ ":") diff --git a/Cabal/src/Distribution/Simple/SrcDist.hs b/Cabal/src/Distribution/Simple/SrcDist.hs index 84fbb40c436..883b4994c78 100644 --- a/Cabal/src/Distribution/Simple/SrcDist.hs +++ b/Cabal/src/Distribution/Simple/SrcDist.hs @@ -272,13 +272,13 @@ listPackageSources' verbosity rip mbWorkDir pkg_descr pps = . withAllLib $ \l -> do let lbi = libBuildInfo l - incls = fmap getSymbolicPath $ filter (`notElem` autogenIncludes lbi) (installIncludes lbi) + incls = getSymbolicPath <$> filter (`notElem` autogenIncludes lbi) (installIncludes lbi) relincdirs = fmap getSymbolicPath $ sameDirectory : mapMaybe symbolicPathRelative_maybe (includeDirs lbi) traverse (fmap (makeSymbolicPath . snd) . findIncludeFile verbosity cwd relincdirs) incls , -- Setup script, if it exists. - fmap (maybe [] (\f -> [makeSymbolicPath f])) $ findSetupFile cwd + maybe [] (\f -> [makeSymbolicPath f]) <$> findSetupFile cwd , -- SetupHooks script, if it exists. - fmap (maybe [] (\f -> [makeSymbolicPath f])) $ findSetupHooksFile cwd + maybe [] (\f -> [makeSymbolicPath f]) <$> findSetupHooksFile cwd , -- The .cabal file itself. fmap (\d -> [d]) (coerceSymbolicPath . relativeSymbolicPath <$> tryFindPackageDesc verbosity mbWorkDir) ] diff --git a/Cabal/src/Distribution/Simple/Test/LibV09.hs b/Cabal/src/Distribution/Simple/Test/LibV09.hs index 5f3541e82e0..96ca8e14cac 100644 --- a/Cabal/src/Distribution/Simple/Test/LibV09.hs +++ b/Cabal/src/Distribution/Simple/Test/LibV09.hs @@ -156,13 +156,12 @@ runTest verbHandles pkg_descr lbi clbi hpcMarkupInfo flags suite = do -- Generate TestSuiteLog from executable exit code and a machine- -- readable test log suiteLog <- - fmap - ( \s -> - (\l -> l{logFile = finalLogName l}) - . fromMaybe (error $ "panic! read @TestSuiteLog " ++ show s) - $ readMaybe s -- TODO: eradicateNoParse + ( \s -> + (\l -> l{logFile = finalLogName l}) + . fromMaybe (error $ "panic! read @TestSuiteLog " ++ show s) + $ readMaybe s -- TODO: eradicateNoParse ) - $ readFile tempLog + <$> readFile tempLog -- Write summary notice to log file indicating start of test suite appendFile (logFile suiteLog) $ summarizeSuiteStart testName' diff --git a/Cabal/src/Distribution/Simple/Utils.hs b/Cabal/src/Distribution/Simple/Utils.hs index 736d9d0f064..d768140d5c6 100644 --- a/Cabal/src/Distribution/Simple/Utils.hs +++ b/Cabal/src/Distribution/Simple/Utils.hs @@ -450,9 +450,7 @@ dieWithLocation' verbosity filename mb_lineno msg = die' :: Verbosity -> String -> IO a die' verbosity msg = withFrozenCallStack $ do ioError . verbatimUserError - =<< annotateErrorString verbosity - =<< pure . wrapTextVerbosity (verbosityFlags verbosity) - =<< pure . addErrorPrefix + =<< annotateErrorString verbosity . wrapTextVerbosity (verbosityFlags verbosity) . addErrorPrefix =<< prefixWithProgName msg -- Type which will be a wrapper for cabal -exceptions and cabal-install exceptions @@ -969,18 +967,19 @@ rawSystemExitCode -> Maybe [(String, String)] -> IO ExitCode rawSystemExitCode verbosity mbWorkDir path args menv = - withFrozenCallStack $ - fmap fst $ - rawSystemIOWithEnvAndAction - verbosity - path - args - (fmap getSymbolicPath mbWorkDir) - menv - (\_ _ _ -> return ()) - Nothing - Nothing - Nothing + withFrozenCallStack + ( fst + <$> rawSystemIOWithEnvAndAction + verbosity + path + args + (fmap getSymbolicPath mbWorkDir) + menv + (\_ _ _ -> return ()) + Nothing + Nothing + Nothing + ) -- | Execute the given command with the given arguments, returning -- the command's exit code. diff --git a/cabal-install-solver/src/Distribution/Solver/Modular/Explore.hs b/cabal-install-solver/src/Distribution/Solver/Modular/Explore.hs index b6a1c476ebf..7daca9cf9b6 100644 --- a/cabal-install-solver/src/Distribution/Solver/Modular/Explore.hs +++ b/cabal-install-solver/src/Distribution/Solver/Modular/Explore.hs @@ -299,7 +299,7 @@ exploreLog mbj enableBj fineGrainedConflicts (CountConflicts countConflicts) idx -- set to say that the reverse dependency also excluded this -- version. Just $ CS.singletonWithConflict (P reverseDep) (CS.VersionConstraintConflict currentQPN v) - in fmap CS.unions $ traverse couldBeResolved (S.toList conflicts) + in (CS.unions <$> traverse couldBeResolved (S.toList conflicts)) logSkippedPackage :: QPN -> POption -> ConflictSet -> ExploreState -> ConflictSetLog a logSkippedPackage qpn pOption cs es = diff --git a/cabal-install/src/Distribution/Client/CmdClean.hs b/cabal-install/src/Distribution/Client/CmdClean.hs index e1261f9dacb..7abd8efb2b9 100644 --- a/cabal-install/src/Distribution/Client/CmdClean.hs +++ b/cabal-install/src/Distribution/Client/CmdClean.hs @@ -156,7 +156,7 @@ cleanAction :: (ProjectFlags, CleanFlags) -> [String] -> GlobalFlags -> IO () cleanAction (ProjectFlags{..}, CleanFlags{..}) extraArgs _ = do let verbosity = mkVerbosity defaultVerbosityHandles $ fromFlagOrDefault normal cleanVerbosity saveConfig = fromFlagOrDefault False cleanSaveConfig - mdistDirectory = fmap getSymbolicPath $ flagToMaybe cleanDistDir + mdistDirectory = getSymbolicPath <$> flagToMaybe cleanDistDir mprojectDir = flagToMaybe flagProjectDir mprojectFile = flagToMaybe flagProjectFile diff --git a/cabal-install/src/Distribution/Client/Config.hs b/cabal-install/src/Distribution/Client/Config.hs index c4c5a5dfba5..94fc0799e16 100644 --- a/cabal-install/src/Distribution/Client/Config.hs +++ b/cabal-install/src/Distribution/Client/Config.hs @@ -1019,7 +1019,7 @@ data ConfigFileSource -- | Returns the config file path, without checking that the file exists. -- The order of precedence is: input flag, CABAL_CONFIG, default location. getConfigFilePath :: Verbosity -> Flag FilePath -> IO FilePath -getConfigFilePath verbosity configFilePath = fmap snd $ getConfigFilePathAndSource verbosity configFilePath +getConfigFilePath verbosity configFilePath = snd <$> getConfigFilePathAndSource verbosity configFilePath getConfigFilePathAndSource :: Verbosity -> Flag FilePath -> IO (ConfigFileSource, FilePath) getConfigFilePathAndSource verbosity configFileFlag = diff --git a/cabal-install/src/Distribution/Client/Dependency.hs b/cabal-install/src/Distribution/Client/Dependency.hs index fc447247d69..afc77c032aa 100644 --- a/cabal-install/src/Distribution/Client/Dependency.hs +++ b/cabal-install/src/Distribution/Client/Dependency.hs @@ -1050,7 +1050,7 @@ planPackagesProblems platform cinfo pkgs = , not (null packageProblems) ] ++ [ DuplicatePackageSolverId (Graph.nodeKey aDup) dups - | dups <- fmap toList $ duplicatesBy (comparing Graph.nodeKey) pkgs + | dups <- toList <$> duplicatesBy (comparing Graph.nodeKey) pkgs , aDup <- case dups of [] -> [] (ad : _) -> [ad] diff --git a/cabal-install/src/Distribution/Client/FileMonitor.hs b/cabal-install/src/Distribution/Client/FileMonitor.hs index e4fceac694f..2a6ae7ef79b 100644 --- a/cabal-install/src/Distribution/Client/FileMonitor.hs +++ b/cabal-install/src/Distribution/Client/FileMonitor.hs @@ -579,9 +579,7 @@ probeMonitorStateFiles Just mtime' -> do -- directory modification time changed: -- a matching file may have been added or deleted - matches <- - return . filter (matchGlobPieces glob) - =<< liftIO (listDirectory (root dirName)) + matches <- liftIO $ filter (matchGlobPieces glob) <$> listDirectory (root dirName) traverse_ probeMergeResult $ mergeBy @@ -783,9 +781,7 @@ probeMonitorStateGlobRel Just mtime' -> do -- directory modification time changed: -- a matching file may have been added or deleted - matches <- - return . filter (matchGlobPieces glob) - =<< liftIO (listDirectory (root dirName)) + matches <- liftIO $ filter (matchGlobPieces glob) <$> listDirectory (root dirName) traverse_ probeMergeResult $ mergeBy diff --git a/cabal-install/src/Distribution/Client/Freeze.hs b/cabal-install/src/Distribution/Client/Freeze.hs index 94c27746920..ad493eb6aca 100644 --- a/cabal-install/src/Distribution/Client/Freeze.hs +++ b/cabal-install/src/Distribution/Client/Freeze.hs @@ -300,8 +300,8 @@ pruneInstallPlan installPlan pkgSpecifiers = freezePackages :: Package pkg => Verbosity -> GlobalFlags -> [pkg] -> IO () freezePackages verbosity globalFlags pkgs = do pkgEnv <- - fmap (createPkgEnv . addFrozenConstraints) $ - loadUserConfig + createPkgEnv . addFrozenConstraints + <$> loadUserConfig verbosity "" (flagToMaybe . globalConstraintsFile $ globalFlags) diff --git a/cabal-install/src/Distribution/Client/IndexUtils/ActiveRepos.hs b/cabal-install/src/Distribution/Client/IndexUtils/ActiveRepos.hs index a0ec5909902..3698e0638ad 100644 --- a/cabal-install/src/Distribution/Client/IndexUtils/ActiveRepos.hs +++ b/cabal-install/src/Distribution/Client/IndexUtils/ActiveRepos.hs @@ -105,10 +105,7 @@ instance Parsec ActiveRepoEntry where "repo" -> P.char ':' *> leadRepo _ -> P.unexpected $ "Unknown active repository entry type: " ++ token - leadRepo = do - r <- parsec - s <- strategyP - return (ActiveRepo r s) + leadRepo = ActiveRepo <$> parsec <*> strategyP strategyP = P.option CombineStrategyMerge (P.char ':' *> parsec) diff --git a/cabal-install/src/Distribution/Client/Install.hs b/cabal-install/src/Distribution/Client/Install.hs index 98082ca86f0..4aba13b223e 100644 --- a/cabal-install/src/Distribution/Client/Install.hs +++ b/cabal-install/src/Distribution/Client/Install.hs @@ -2031,7 +2031,7 @@ installUnpackedPackage traverse (readPkgConf (getSymbolicPath pkgConfDest)) . sort . filter notHidden =<< listDirectory (getSymbolicPath pkgConfDest) - else fmap (: []) $ readPkgConf "." (getSymbolicPath pkgConfDest) + else (: []) <$> readPkgConf "." (getSymbolicPath pkgConfDest) readPkgConf :: FilePath diff --git a/cabal-install/src/Distribution/Client/InstallSymlink.hs b/cabal-install/src/Distribution/Client/InstallSymlink.hs index 58d5d5cf94f..32823ddec6f 100644 --- a/cabal-install/src/Distribution/Client/InstallSymlink.hs +++ b/cabal-install/src/Distribution/Client/InstallSymlink.hs @@ -146,8 +146,8 @@ symlinkBinaries publicBinDir <- canonicalizePath symlinkBinDir -- TODO: do we want to do this here? : -- createDirectoryIfMissing True publicBinDir - fmap catMaybes $ - sequenceA + catMaybes + <$> sequenceA [ do privateBinDir <- pkgBinDir pkg ipid ok <- diff --git a/cabal-install/src/Distribution/Client/JobControl.hs b/cabal-install/src/Distribution/Client/JobControl.hs index 4ca471976d3..3cb2162581f 100644 --- a/cabal-install/src/Distribution/Client/JobControl.hs +++ b/cabal-install/src/Distribution/Client/JobControl.hs @@ -268,7 +268,7 @@ withJobLimit (JobLimit sem) = newtype Lock = Lock (MVar ()) newLock :: IO Lock -newLock = fmap Lock $ newMVar () +newLock = Lock <$> newMVar () criticalSection :: Lock -> IO a -> IO a criticalSection (Lock lck) act = bracket_ (takeMVar lck) (putMVar lck ()) act diff --git a/cabal-install/src/Distribution/Client/ProjectBuilding/UnpackedPackage.hs b/cabal-install/src/Distribution/Client/ProjectBuilding/UnpackedPackage.hs index 10cba75bb16..30d235bbcde 100644 --- a/cabal-install/src/Distribution/Client/ProjectBuilding/UnpackedPackage.hs +++ b/cabal-install/src/Distribution/Client/ProjectBuilding/UnpackedPackage.hs @@ -659,8 +659,7 @@ buildInplaceUnpackedPackage let listSimple = execRebuild (getSymbolicPath srcdir) (needElaboratedConfiguredPackage pkg) listSdist = - fmap (map monitorFileHashed) $ - allPackageSourceFiles verbosity (getSymbolicPath srcdir) + map monitorFileHashed <$> allPackageSourceFiles verbosity (getSymbolicPath srcdir) ifNullThen m m' = do xs <- m if null xs then m' else return xs diff --git a/cabal-install/src/Distribution/Client/ProjectConfig/Legacy.hs b/cabal-install/src/Distribution/Client/ProjectConfig/Legacy.hs index bf47efd8a2e..29579076125 100644 --- a/cabal-install/src/Distribution/Client/ProjectConfig/Legacy.hs +++ b/cabal-install/src/Distribution/Client/ProjectConfig/Legacy.hs @@ -779,10 +779,10 @@ convertLegacyPerPackageFlags , configRelocatable = packageConfigRelocatable , configCoverageFor = _ } = configFlags - packageConfigExtraLibDirs = fmap getSymbolicPath $ configExtraLibDirs configFlags - packageConfigExtraLibDirsStatic = fmap getSymbolicPath $ configExtraLibDirsStatic configFlags - packageConfigExtraFrameworkDirs = fmap getSymbolicPath $ configExtraFrameworkDirs configFlags - packageConfigExtraIncludeDirs = fmap getSymbolicPath $ configExtraIncludeDirs configFlags + packageConfigExtraLibDirs = getSymbolicPath <$> configExtraLibDirs configFlags + packageConfigExtraLibDirsStatic = getSymbolicPath <$> configExtraLibDirsStatic configFlags + packageConfigExtraFrameworkDirs = getSymbolicPath <$> configExtraFrameworkDirs configFlags + packageConfigExtraIncludeDirs = getSymbolicPath <$> configExtraIncludeDirs configFlags packageConfigProgramPaths = MapLast (Map.fromList configProgramPaths) packageConfigProgramArgs = MapMappend (Map.fromListWith (++) configProgramArgs) diff --git a/cabal-install/src/Distribution/Client/ProjectConfig/Parsec.hs b/cabal-install/src/Distribution/Client/ProjectConfig/Parsec.hs index 742cf4f0981..075d72e457c 100644 --- a/cabal-install/src/Distribution/Client/ProjectConfig/Parsec.hs +++ b/cabal-install/src/Distribution/Client/ProjectConfig/Parsec.hs @@ -141,7 +141,7 @@ parseProjectSkeleton cacheDir httpTransport verbosity projectDir source (Project (parseImport pos importLines) (Section (Name pos "if") args xs') -> do subpcs <- go [] xs' - let fs = fmap singletonProjectConfigSkeleton $ fieldsToConfig source (reverse acc) + let fs = singletonProjectConfigSkeleton <$> fieldsToConfig source (reverse acc) (elseClauses, rest) <- parseElseClauses xs let condNode = (\c pcs e -> CondNode mempty [CondBranch c pcs e]) diff --git a/cabal-install/src/Distribution/Client/ProjectFlags.hs b/cabal-install/src/Distribution/Client/ProjectFlags.hs index 1003a58add4..d33afd8b9b4 100644 --- a/cabal-install/src/Distribution/Client/ProjectFlags.hs +++ b/cabal-install/src/Distribution/Client/ProjectFlags.hs @@ -98,7 +98,7 @@ projectFlagsOptions showOrParseArgs = "Set the parser to use for the project file" flagProjectFileParser (\pf flags -> flags{flagProjectFileParser = pf}) - (reqArg "PARSER" (fmap Flag $ ReadE parseProjectFileParser) projectFileParserPrinter) + (reqArg "PARSER" (Flag <$> ReadE parseProjectFileParser) projectFileParserPrinter) ] parseProjectFileParser :: String -> Either String ProjectFileParser diff --git a/cabal-install/src/Distribution/Client/ProjectOrchestration.hs b/cabal-install/src/Distribution/Client/ProjectOrchestration.hs index cecea153f39..a48bc135710 100644 --- a/cabal-install/src/Distribution/Client/ProjectOrchestration.hs +++ b/cabal-install/src/Distribution/Client/ProjectOrchestration.hs @@ -455,8 +455,8 @@ runProjectBuildPhase verbosity ProjectBaseContext{..} ProjectBuildContext{..} = - fmap (Map.union (previousBuildOutcomes pkgsBuildStatus)) $ - rebuildTargets + Map.union (previousBuildOutcomes pkgsBuildStatus) + <$> rebuildTargets verbosity projectConfig distDirLayout @@ -709,10 +709,8 @@ resolveTargets -- We can ask to build any whole package, project-local or a dependency checkTarget bt@(TargetPackage _ (ordNub -> [pkgid]) mkfilter) | Just ats <- - fmap (maybe id filterTargetsKind mkfilter) $ - Map.lookup pkgid availableTargetsByPackageId = - fmap (componentTargets WholeComponent) $ - selectPackageTargets bt ats + maybe id filterTargetsKind mkfilter <$> Map.lookup pkgid availableTargetsByPackageId = + componentTargets WholeComponent <$> selectPackageTargets bt ats | otherwise = Left (TargetProblemNoSuchPackage pkgid) checkTarget (TargetPackage _ pkgids _) = @@ -739,8 +737,7 @@ resolveTargets Map.lookup (pkgid, cname) availableTargetsByPackageIdAndComponentName = - fmap (componentTargets subtarget) $ - selectComponentTargets subtarget ats + componentTargets subtarget <$> selectComponentTargets subtarget ats | Map.member pkgid availableTargetsByPackageId = Left (TargetProblemNoSuchComponent pkgid cname) | otherwise = @@ -755,16 +752,14 @@ resolveTargets Map.lookup (pkgname, cname) availableTargetsByPackageNameAndComponentName = - fmap (componentTargets subtarget) $ - selectComponentTargets subtarget ats + componentTargets subtarget <$> selectComponentTargets subtarget ats | Map.member pkgname availableTargetsByPackageName = Left (TargetProblemUnknownComponent pkgname ecname) | otherwise = Left (TargetNotInProject pkgname) checkTarget bt@(TargetPackageNamed pkgname mkfilter) | Just ats <- - fmap (maybe id filterTargetsKind mkfilter) $ - Map.lookup pkgname availableTargetsByPackageName = + maybe id filterTargetsKind mkfilter <$> Map.lookup pkgname availableTargetsByPackageName = fmap (componentTargets WholeComponent) . selectPackageTargets bt $ ats diff --git a/cabal-install/src/Distribution/Client/ProjectPlanOutput.hs b/cabal-install/src/Distribution/Client/ProjectPlanOutput.hs index 5008de76471..82e90976013 100644 --- a/cabal-install/src/Distribution/Client/ProjectPlanOutput.hs +++ b/cabal-install/src/Distribution/Client/ProjectPlanOutput.hs @@ -854,8 +854,8 @@ writePlanGhcEnvironment | compilerFlavor compiler == GHC , supportsPkgEnvFiles (getImplInfo compiler) = -- TODO: check ghcjs compat - fmap Just $ - writeGhcEnvironmentFile + Just + <$> writeGhcEnvironmentFile path platform (compilerVersion compiler) diff --git a/cabal-install/src/Distribution/Client/ProjectPlanning.hs b/cabal-install/src/Distribution/Client/ProjectPlanning.hs index d87a79c34eb..ba722b8cd9a 100644 --- a/cabal-install/src/Distribution/Client/ProjectPlanning.hs +++ b/cabal-install/src/Distribution/Client/ProjectPlanning.hs @@ -1261,30 +1261,31 @@ getPackageSourceHashes verbosity withRepoCtx solverPlan = do -- the hashes for the packages -- hashesFromRepoMetadata <- - Sec.uncheckClientErrors $ -- TODO: [code cleanup] wrap in our own exceptions - fmap (Map.fromList . concat) $ - sequence - -- Reading the repo index is expensive so we group the packages by repo - [ repoContextWithSecureRepo repoctx repo $ \secureRepo -> - Sec.withIndex secureRepo $ \repoIndex -> - sequence - [ do - hash <- - Sec.trusted - <$> Sec.indexLookupHash repoIndex pkgid -- strip off Trusted tag - - -- Note that hackage-security currently uses SHA256 - -- but this API could in principle give us some other - -- choice in future. - return (pkgid, hashFromTUF hash) - | pkgid <- pkgids - ] - | (repo, pkgids) <- - map (\grp@((repo, _) :| _) -> (repo, map snd (NE.toList grp))) - . NE.groupBy ((==) `on` (repoName . fst)) - . sortBy (compare `on` (repoName . fst)) - $ repoTarballPkgsWithMetadata - ] + Sec.uncheckClientErrors -- TODO: [code cleanup] wrap in our own exceptions + ( Map.fromList . concat + <$> sequence + -- Reading the repo index is expensive so we group the packages by repo + [ repoContextWithSecureRepo repoctx repo $ \secureRepo -> + Sec.withIndex secureRepo $ \repoIndex -> + sequence + [ do + hash <- + Sec.trusted + <$> Sec.indexLookupHash repoIndex pkgid -- strip off Trusted tag + + -- Note that hackage-security currently uses SHA256 + -- but this API could in principle give us some other + -- choice in future. + return (pkgid, hashFromTUF hash) + | pkgid <- pkgids + ] + | (repo, pkgids) <- + map (\grp@((repo, _) :| _) -> (repo, map snd (NE.toList grp))) + . NE.groupBy ((==) `on` (repoName . fst)) + . sortBy (compare `on` (repoName . fst)) + $ repoTarballPkgsWithMetadata + ] + ) -- For tarballs from repos that do not have hashes available, download -- the ones we previously determined we need. @@ -1314,14 +1315,15 @@ getPackageSourceHashes verbosity withRepoCtx solverPlan = do ++ repoTarballPkgsDownloaded ++ repoTarballPkgsNewlyDownloaded hashesFromTarballFiles <- - liftIO $ - fmap Map.fromList $ - sequence - [ do - srchash <- readFileHashValue tarball - return (pkgid, srchash) - | (pkgid, tarball) <- allTarballFilePkgs - ] + liftIO + ( Map.fromList + <$> sequence + [ do + srchash <- readFileHashValue tarball + return (pkgid, srchash) + | (pkgid, tarball) <- allTarballFilePkgs + ] + ) monitorFiles [ monitorFile tarball | (_pkgid, tarball) <- allTarballFilePkgs diff --git a/cabal-install/src/Distribution/Client/Sandbox/PackageEnvironment.hs b/cabal-install/src/Distribution/Client/Sandbox/PackageEnvironment.hs index e10227f39b6..afcc9e52c43 100644 --- a/cabal-install/src/Distribution/Client/Sandbox/PackageEnvironment.hs +++ b/cabal-install/src/Distribution/Client/Sandbox/PackageEnvironment.hs @@ -152,8 +152,7 @@ userPackageEnvironment verbosity pkgEnvDir globalConfigLocation = do -- | Same as @userPackageEnvironmentFile@, but returns a SavedConfig. loadUserConfig :: Verbosity -> FilePath -> Maybe FilePath -> IO SavedConfig loadUserConfig verbosity pkgEnvDir globalConfigLocation = - fmap pkgEnvSavedConfig $ - userPackageEnvironment verbosity pkgEnvDir globalConfigLocation + pkgEnvSavedConfig <$> userPackageEnvironment verbosity pkgEnvDir globalConfigLocation -- | Descriptions of all fields in the package environment file. pkgEnvFieldDescrs :: ConstraintSource -> [FieldDescr PackageEnvironment] diff --git a/cabal-install/src/Distribution/Client/SetupWrapper.hs b/cabal-install/src/Distribution/Client/SetupWrapper.hs index cd7b9741990..69b9b2dc980 100644 --- a/cabal-install/src/Distribution/Client/SetupWrapper.hs +++ b/cabal-install/src/Distribution/Client/SetupWrapper.hs @@ -788,7 +788,7 @@ invoke verbosity path args options = do let loggingHandle = maybe Inherit UseHandle (useLoggingHandle options) cp = (proc path args) - { Process.cwd = fmap getSymbolicPath $ useWorkingDir options + { Process.cwd = getSymbolicPath <$> useWorkingDir options , Process.env = env , Process.std_out = loggingHandle , Process.std_err = loggingHandle diff --git a/cabal-install/src/Distribution/Client/SourceFiles.hs b/cabal-install/src/Distribution/Client/SourceFiles.hs index bc52fd6e531..bc046e329c1 100644 --- a/cabal-install/src/Distribution/Client/SourceFiles.hs +++ b/cabal-install/src/Distribution/Client/SourceFiles.hs @@ -192,7 +192,7 @@ needBuildInfo pkg_descr bi modules = do , map getSymbolicPath expandedExtraSrcFiles ] for_ - (fmap getSymbolicPath $ installIncludes bi) + (getSymbolicPath <$> installIncludes bi) ( findFileMonitored ("." : fmap getSymbolicPath (includeDirs bi)) >=> maybe (return ()) need ) diff --git a/cabal-install/src/Distribution/Client/TargetSelector.hs b/cabal-install/src/Distribution/Client/TargetSelector.hs index f1189be4755..ab365a58f02 100644 --- a/cabal-install/src/Distribution/Client/TargetSelector.hs +++ b/cabal-install/src/Distribution/Client/TargetSelector.hs @@ -321,23 +321,18 @@ parseTargetString = where parseTargetApprox :: Parse.ReadP TargetString parseTargetApprox = - ( do - a <- tokenQEnd - return (TargetString1 a) - ) + (TargetString1 <$> tokenQEnd) +++ ( do a <- tokenQ0 _ <- Parse.char ':' - b <- tokenQEnd - return (TargetString2 a b) + TargetString2 a <$> tokenQEnd ) +++ ( do a <- tokenQ0 _ <- Parse.char ':' b <- tokenQ _ <- Parse.char ':' - c <- tokenQEnd - return (TargetString3 a b c) + TargetString3 a b <$> tokenQEnd ) +++ ( do a <- tokenQ0 @@ -346,8 +341,7 @@ parseTargetString = _ <- Parse.char ':' c <- tokenQ _ <- Parse.char ':' - d <- tokenQEnd - return (TargetString4 a b c d) + TargetString4 a b c <$> tokenQEnd ) +++ ( do a <- tokenQ0 @@ -358,8 +352,7 @@ parseTargetString = _ <- Parse.char ':' d <- tokenQ _ <- Parse.char ':' - e <- tokenQEnd - return (TargetString5 a b c d e) + TargetString5 a b c d <$> tokenQEnd ) +++ ( do a <- tokenQ0 @@ -374,8 +367,7 @@ parseTargetString = _ <- Parse.char ':' f <- tokenQ _ <- Parse.char ':' - g <- tokenQEnd - return (TargetString7 a b c d e f g) + TargetString7 a b c d e f <$> tokenQEnd ) token = Parse.munch1 (\x -> not (isSpace x) && x /= ':') @@ -2107,9 +2099,7 @@ matchPackageDir ps = \str fstatus -> case fstatus of FileStatusExistsDir canondir -> orNoSuchThing "package directory" str (map (snd . fst) dirs) $ - increaseConfidenceFor $ - fmap snd $ - matchExactly (fst . fst) dirs canondir + increaseConfidenceFor (snd <$> matchExactly (fst . fst) dirs canondir) _ -> mzero where dirs = @@ -2122,9 +2112,7 @@ matchPackageFile ps = \str fstatus -> do case fstatus of FileStatusExistsFile canonfile -> orNoSuchThing "package .cabal file" str (map (snd . fst) files) $ - increaseConfidenceFor $ - fmap snd $ - matchExactly (fst . fst) files canonfile + increaseConfidenceFor (snd <$> matchExactly (fst . fst) files canonfile) _ -> mzero where files = diff --git a/cabal-install/src/Distribution/Client/Utils/Parsec.hs b/cabal-install/src/Distribution/Client/Utils/Parsec.hs index 684a9d42fa2..99ed9782c46 100644 --- a/cabal-install/src/Distribution/Client/Utils/Parsec.hs +++ b/cabal-install/src/Distribution/Client/Utils/Parsec.hs @@ -78,8 +78,8 @@ instance (Newtype a b, Sep sep, Pretty b) => Pretty (NubList' sep b a) where remoteRepoGrammar :: RepoName -> ParsecFieldGrammar RemoteRepo RemoteRepo remoteRepoGrammar name = - pure (RemoteRepo name) - <*> uniqueFieldAla "url" URI_NT remoteRepoURILens + RemoteRepo name + <$> uniqueFieldAla "url" URI_NT remoteRepoURILens <*> optionalField "secure" remoteRepoSecureLens <*> monoidalFieldAla "root-keys" (alaList' FSep Token) remoteRepoRootKeysLens <*> optionalFieldDefAla "key-threshold" KeyThreshold remoteRepoKeyThresholdLens 0 diff --git a/cabal-install/tests/UnitTests/Distribution/Client/ArbitraryInstances.hs b/cabal-install/tests/UnitTests/Distribution/Client/ArbitraryInstances.hs index 518b1ad7aa5..50f41e3eff1 100644 --- a/cabal-install/tests/UnitTests/Distribution/Client/ArbitraryInstances.hs +++ b/cabal-install/tests/UnitTests/Distribution/Client/ArbitraryInstances.hs @@ -110,10 +110,8 @@ instance Arbitrary URI where <*> pure "" instance Arbitrary URIAuth where - arbitrary = - pure (URIAuth "") -- no password as this does not roundtrip - <*> arbitraryURIToken - <*> arbitraryURIPort + -- no password as this does not roundtrip + arbitrary = URIAuth "" <$> arbitraryURIToken <*> arbitraryURIPort arbitraryURIToken :: Gen String arbitraryURIToken = diff --git a/cabal-install/tests/UnitTests/Distribution/Client/InstallPlan.hs b/cabal-install/tests/UnitTests/Distribution/Client/InstallPlan.hs index db2a9680e5e..e49e0fdc108 100644 --- a/cabal-install/tests/UnitTests/Distribution/Client/InstallPlan.hs +++ b/cabal-install/tests/UnitTests/Distribution/Client/InstallPlan.hs @@ -234,11 +234,8 @@ arbitraryInstallPlan -> Gen (InstallPlan.GenericInstallPlan ipkg srcpkg) arbitraryInstallPlan mkIPkg mkSrcPkg ipkgProportion graph = do (ipkgvs, srcpkgvs) <- - fmap - ( bimap (map fst) (map fst) - . partition snd - ) - $ sequenceA + bimap (map fst) (map fst) . partition snd + <$> sequenceA [ do isipkg <- if isRoot diff --git a/cabal-install/tests/UnitTests/Distribution/Client/ProjectConfig.hs b/cabal-install/tests/UnitTests/Distribution/Client/ProjectConfig.hs index b442ea2e5a9..3f5a47834a1 100644 --- a/cabal-install/tests/UnitTests/Distribution/Client/ProjectConfig.hs +++ b/cabal-install/tests/UnitTests/Distribution/Client/ProjectConfig.hs @@ -630,8 +630,8 @@ instance Arbitrary ProjectConfigShared where shrink ProjectConfigShared{..} = runShrinker $ - pure ProjectConfigShared - <*> shrinker projectConfigDistDir + ProjectConfigShared + <$> shrinker projectConfigDistDir <*> shrinker projectConfigConfigFile <*> shrinker projectConfigProjectDir <*> shrinker projectConfigProjectFile @@ -975,8 +975,7 @@ instance f ~ [] => Arbitrary (SourceRepositoryPackage f) where shrink SourceRepositoryPackage{..} = runShrinker $ - pure SourceRepositoryPackage - <*> shrinker srpType + (SourceRepositoryPackage <$> shrinker srpType) <*> shrinkerAla ShortToken srpLocation <*> shrinkerAla (fmap ShortToken) srpTag <*> shrinkerAla (fmap ShortToken) srpBranch diff --git a/cabal-testsuite/PackageTests/Configure/cabal.test.hs b/cabal-testsuite/PackageTests/Configure/cabal.test.hs index cd419e8cee2..e9d1c89ec76 100644 --- a/cabal-testsuite/PackageTests/Configure/cabal.test.hs +++ b/cabal-testsuite/PackageTests/Configure/cabal.test.hs @@ -21,7 +21,7 @@ main = cabalTest $ do void $ shell "C:\\msys64\\usr\\bin\\bash.exe" [ "-l", "-c", "cd $(cygpath -m '" <> testTmpDir env <> "') && autoreconf -i"] cabal "v2-build" [] else do - hasAutoreconf <- liftIO $ fmap isJust $ findExecutable "autoreconf" + hasAutoreconf <- liftIO (isJust <$> findExecutable "autoreconf") skipUnless "no autoreconf" hasAutoreconf _ <- shell "autoreconf" ["-i"] cabal "v2-build" [] diff --git a/cabal-testsuite/PackageTests/Configure/setup.test.hs b/cabal-testsuite/PackageTests/Configure/setup.test.hs index 5eaea387fe6..15247c2fec0 100644 --- a/cabal-testsuite/PackageTests/Configure/setup.test.hs +++ b/cabal-testsuite/PackageTests/Configure/setup.test.hs @@ -20,7 +20,7 @@ main = setupTest $ void $ shell "C:\\msys64\\usr\\bin\\bash.exe" [ "-l", "-c", "cd $(cygpath -m '" <> testTmpDir env <> "') && autoreconf -i"] setup_build [] else do - hasAutoreconf <- liftIO $ fmap isJust $ findExecutable "autoreconf" + hasAutoreconf <- liftIO (isJust <$> findExecutable "autoreconf") skipUnless "no autoreconf" hasAutoreconf _ <- shell "autoreconf" ["-i"] setup_build [] diff --git a/cabal-testsuite/PackageTests/PreProcess/Hsc2HsOptionsCC/setup.test.hs b/cabal-testsuite/PackageTests/PreProcess/Hsc2HsOptionsCC/setup.test.hs index eb3a5eb255e..265a50a17a0 100644 --- a/cabal-testsuite/PackageTests/PreProcess/Hsc2HsOptionsCC/setup.test.hs +++ b/cabal-testsuite/PackageTests/PreProcess/Hsc2HsOptionsCC/setup.test.hs @@ -18,7 +18,7 @@ main = setupAndCabalTest $ do . resultOutput <$> runProgramM ghcProgram ["--print-libdir"] Nothing else do - hasGxx <- liftIO $ fmap isJust $ findExecutable "g++" + hasGxx <- liftIO (isJust <$> findExecutable "g++") skipUnless "g++" hasGxx pure "g++" diff --git a/cabal-testsuite/src/Test/Cabal/Monad.hs b/cabal-testsuite/src/Test/Cabal/Monad.hs index c8f1bd31ae1..adc3de9470d 100644 --- a/cabal-testsuite/src/Test/Cabal/Monad.hs +++ b/cabal-testsuite/src/Test/Cabal/Monad.hs @@ -783,8 +783,7 @@ requireProgramM program = do needProgramM :: String -> TestM (Maybe ConfiguredProgram) needProgramM program = do - env <- getTestEnv - return $ lookupProgramByName program (testProgramDb env) + lookupProgramByName program . testProgramDb <$> getTestEnv programPathM :: Program -> TestM FilePath programPathM program = do diff --git a/cabal-testsuite/src/Test/Cabal/Prelude.hs b/cabal-testsuite/src/Test/Cabal/Prelude.hs index 75e83a353fb..f3d841d8357 100644 --- a/cabal-testsuite/src/Test/Cabal/Prelude.hs +++ b/cabal-testsuite/src/Test/Cabal/Prelude.hs @@ -1157,9 +1157,7 @@ skipIfNoProfiledLibraries = skipUnless "no profiled libraries" =<< hasProfiledLi -- An example where this is needed is if you want to dynamically link -- detailed-0.9 test suites, since those depend on the Cabal library unde rtest. hasCabalShared :: TestM Bool -hasCabalShared = do - env <- getTestEnv - return (testHaveCabalShared env) +hasCabalShared = testHaveCabalShared <$> getTestEnv anyCabalVersion :: WithCallStack (String -> TestM Bool) anyCabalVersion = isCabalVersion any