@@ -17,15 +17,14 @@
17{-# LANGUAGE GeneralizedNewtypeDeriving #-}
17{-# LANGUAGE GeneralizedNewtypeDeriving #-}
18{-# LANGUAGE RecordWildCards #-}
18{-# LANGUAGE RecordWildCards #-}
19{-# LANGUAGE TupleSections #-}
19{-# LANGUAGE TupleSections #-}
22module PSCi where
21module PSCi where
24import Data.Foldable (traverse_)
26import Data.Foldable (traverse_)
25import Data.List (intercalate, nub, sort)
27import Data.List (intercalate, nub, sort)
26−#if __GLASGOW_HASKELL__ < 710
27−import Data.Traversable (traverse)
29import Data.Tuple (swap)
28import Data.Tuple (swap)
30import Data.Version (showVersion)
29import Data.Version (showVersion)
31import qualified Data.Map as M
30import qualified Data.Map as M
@@ -507,7 +506,7 @@ loadUserConfig = onFirstFileMatching readCommands pathGetters
507 if exists
506 if exists
509 ls <- lines <$> readFile configFile
508 ls <- lines <$> readFile configFile
510− case mapM parseCommand ls of
509+ case traverse parseCommand ls of
511 Left err -> print err >> exitFailure
510 Left err -> print err >> exitFailure
512 Right cs -> return $ Just cs
511 Right cs -> return $ Just cs
@@ -524,8 +523,8 @@ consoleIsDefined = any ((== P.ModuleName (map P.ProperName [ "Control", "Monad",
524loop :: PSCiOptions -> IO ()
523loop :: PSCiOptions -> IO ()
525loop PSCiOptions{..} = do
524loop PSCiOptions{..} = do
526 config <- loadUserConfig
525 config <- loadUserConfig
527− inputFiles <- concat <$> mapM glob psciInputFile
526+ inputFiles <- concat <$> traverse glob psciInputFile
528− foreignFiles <- concat <$> mapM glob psciForeignInputFiles
527+ foreignFiles <- concat <$> traverse glob psciForeignInputFiles
529 modulesOrFirstError <- loadAllModules inputFiles
528 modulesOrFirstError <- loadAllModules inputFiles
530 case modulesOrFirstError of
529 case modulesOrFirstError of
531 Left errs -> putStrLn (P.prettyPrintMultipleErrors False errs) >> exitFailure
530 Left errs -> putStrLn (P.prettyPrintMultipleErrors False errs) >> exitFailure
@@ -540,7 +539,7 @@ loop PSCiOptions{..} = do
540 Right foreigns ->
539 Right foreigns ->
541 flip evalStateT (PSCiState inputFiles [] modules foreigns [] psciInputNodeFlags) . runInputT (setComplete completion settings) $ do
540 flip evalStateT (PSCiState inputFiles [] modules foreigns [] psciInputNodeFlags) . runInputT (setComplete completion settings) $ do
542 outputStrLn prologueMessage
541 outputStrLn prologueMessage
543− traverse_ (mapM_ (runPSCI . handleCommand)) config
542+ traverse_ (traverse_ (runPSCI . handleCommand)) config
544 modules' <- lift $ gets psciLoadedModules
543 modules' <- lift $ gets psciLoadedModules
545 unless (consoleIsDefined (map snd modules')) . outputStrLn $ unlines
544 unless (consoleIsDefined (map snd modules')) . outputStrLn $ unlines
546 [ "PSCi requires the purescript-console module to be installed."
545 [ "PSCi requires the purescript-console module to be installed."