Using proper type aliases.

This commit is contained in:
Kazu Yamamoto 2013-09-16 11:00:39 +09:00
parent de9aa7740c
commit 856392fdb7
2 changed files with 8 additions and 8 deletions

View File

@ -44,7 +44,7 @@ fromCabalFile ghcOptions cradle = do
where where
Just cfile = cradleCabalFile cradle Just cfile = cradleCabalFile cradle
cookInfo :: [String] -> Cradle -> PackageDescription cookInfo :: [GHCOption] -> Cradle -> PackageDescription
-> ([GHCOption],[IncludeDir],[Package]) -> ([GHCOption],[IncludeDir],[Package])
cookInfo ghcOptions cradle cabal = (gopts,idirs,depPkgs) cookInfo ghcOptions cradle cabal = (gopts,idirs,depPkgs)
where where
@ -56,15 +56,15 @@ cookInfo ghcOptions cradle cabal = (gopts,idirs,depPkgs)
idirs = includeDirectories cdir wdir $ cabalSourceDirs buildInfos idirs = includeDirectories cdir wdir $ cabalSourceDirs buildInfos
depPkgs = removeThem problematicPackages $ removeMe cfile $ cabalDependPackages buildInfos depPkgs = removeThem problematicPackages $ removeMe cfile $ cabalDependPackages buildInfos
removeMe :: FilePath -> [String] -> [String] removeMe :: FilePath -> [Package] -> [Package]
removeMe cabalfile = filter (/= me) removeMe cabalfile = filter (/= me)
where where
me = dropExtension $ takeFileName cabalfile me = dropExtension $ takeFileName cabalfile
removeThem :: [String] -> [String] -> [String] removeThem :: [Package] -> [Package] -> [Package]
removeThem badpkgs = filter (`notElem` badpkgs) removeThem badpkgs = filter (`notElem` badpkgs)
problematicPackages :: [String] problematicPackages :: [Package]
problematicPackages = [ problematicPackages = [
"base-compat" -- providing "Prelude" "base-compat" -- providing "Prelude"
] ]
@ -72,7 +72,7 @@ problematicPackages = [
cabalBuildDirs :: [FilePath] cabalBuildDirs :: [FilePath]
cabalBuildDirs = ["dist/build"] cabalBuildDirs = ["dist/build"]
includeDirectories :: String -> String -> [FilePath] -> [String] includeDirectories :: FilePath -> FilePath -> [FilePath] -> [FilePath]
includeDirectories cdir wdir dirs = uniqueAndSort (extdirs ++ [cdir,wdir]) includeDirectories cdir wdir dirs = uniqueAndSort (extdirs ++ [cdir,wdir])
where where
extdirs = map (cdir </>) $ dirs ++ cabalBuildDirs extdirs = map (cdir </>) $ dirs ++ cabalBuildDirs
@ -98,7 +98,7 @@ parseCabalFile file = do
---------------------------------------------------------------- ----------------------------------------------------------------
getGHCOptions :: [String] -> BuildInfo -> [String] getGHCOptions :: [GHCOption] -> BuildInfo -> [GHCOption]
getGHCOptions ghcOptions binfo = ghcOptions ++ exts ++ [lang] ++ libs ++ libDirs getGHCOptions ghcOptions binfo = ghcOptions ++ exts ++ [lang] ++ libs ++ libDirs
where where
exts = map (("-X" ++) . display) $ usedExtensions binfo exts = map (("-X" ++) . display) $ usedExtensions binfo

View File

@ -148,7 +148,7 @@ checkSlowAndSet = do
---------------------------------------------------------------- ----------------------------------------------------------------
modifyFlagsWithOpts :: GhcMonad m => DynFlags -> [String] -> m DynFlags modifyFlagsWithOpts :: GhcMonad m => DynFlags -> [GHCOption] -> m DynFlags
modifyFlagsWithOpts dflags cmdOpts = modifyFlagsWithOpts dflags cmdOpts =
tfst <$> parseDynamicFlags dflags (map noLoc cmdOpts) tfst <$> parseDynamicFlags dflags (map noLoc cmdOpts)
where where
@ -157,7 +157,7 @@ modifyFlagsWithOpts dflags cmdOpts =
---------------------------------------------------------------- ----------------------------------------------------------------
-- | Set the files that GHC will load / compile. -- | Set the files that GHC will load / compile.
setTargetFiles :: (GhcMonad m) => [String] -> m () setTargetFiles :: (GhcMonad m) => [FilePath] -> m ()
setTargetFiles [] = error "ghc-mod: setTargetFiles: No target files given" setTargetFiles [] = error "ghc-mod: setTargetFiles: No target files given"
setTargetFiles files = do setTargetFiles files = do
targets <- forM files $ \file -> guessTarget file Nothing targets <- forM files $ \file -> guessTarget file Nothing