git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Use base-compat in psci
d1d281aOleg Grenrus
psci/Completion.hs+3−8
@@ -1,19 +1,14 @@
1−{-# LANGUAGE CPP #-}
2−
3module Completion where
1module Completion where
4
2
3+import Prelude ()
4+import Prelude.Compat
5+
5import Data.Maybe (mapMaybe)
6import Data.Maybe (mapMaybe)
6import Data.List (nub, nubBy, sortBy, isPrefixOf, stripPrefix)
7import Data.List (nub, nubBy, sortBy, isPrefixOf, stripPrefix)
7import Data.Char (isUpper)
8import Data.Char (isUpper)
8import Data.Function (on)
9import Data.Function (on)
9−#if __GLASGOW_HASKELL__ < 710
10−import Data.Traversable (traverse)
11−#endif
12
10
13import Control.Arrow (second)
11import Control.Arrow (second)
14−#if __GLASGOW_HASKELL__ < 710
15−import Control.Applicative ((<$>), (<*>))
16−#endif
17import Control.Monad.Trans.Reader (asks, runReaderT, ReaderT)
12import Control.Monad.Trans.Reader (asks, runReaderT, ReaderT)
18import Control.Monad.Trans.State.Strict
13import Control.Monad.Trans.State.Strict
19
14
psci/PSCi.hs+7−8
@@ -17,15 +17,14 @@
17{-# LANGUAGE GeneralizedNewtypeDeriving #-}
17{-# LANGUAGE GeneralizedNewtypeDeriving #-}
18{-# LANGUAGE RecordWildCards #-}
18{-# LANGUAGE RecordWildCards #-}
19{-# LANGUAGE TupleSections #-}
19{-# LANGUAGE TupleSections #-}
20−{-# LANGUAGE CPP #-}
21
20
22module PSCi where
21module PSCi where
23
22
23+import Prelude ()
24+import Prelude.Compat
25+
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)
28−#endif
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
508 then do
507 then do
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
513 else
512 else
@@ -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."
psci/Parser.hs+2−7
@@ -13,21 +13,16 @@
13--
13--
14-----------------------------------------------------------------------------
14-----------------------------------------------------------------------------
15
15
16−{-# LANGUAGE CPP #-}
17−
18module Parser
16module Parser
19 ( parseCommand
17 ( parseCommand
20 ) where
18 ) where
21
19
22−import Prelude hiding (lex)
20+import Prelude ()
21+import Prelude.Compat hiding (lex)
23
22
24import Data.Char (isSpace)
23import Data.Char (isSpace)
25import Data.List (intercalate)
24import Data.List (intercalate)
26
25
27−#if __GLASGOW_HASKELL__ < 710
28−import Control.Applicative hiding (many)
29−#endif
30−
31import Text.Parsec hiding ((<|>))
26import Text.Parsec hiding ((<|>))
32
27
33import qualified Language.PureScript as P
28import qualified Language.PureScript as P
psci/tests/Main.hs+3−4
@@ -1,14 +1,13 @@
1{-# LANGUAGE RecordWildCards #-}
1{-# LANGUAGE RecordWildCards #-}
2{-# LANGUAGE TupleSections #-}
2{-# LANGUAGE TupleSections #-}
3−{-# LANGUAGE CPP #-}
4
3
5module Main where
4module Main where
6
5
6+import Prelude ()
7+import Prelude.Compat
8+
7import Control.Monad.Trans.State.Strict (runStateT)
9import Control.Monad.Trans.State.Strict (runStateT)
8import Control.Monad (when, forM)
10import Control.Monad (when, forM)
9−#if __GLASGOW_HASKELL__ < 710
10−import Control.Applicative
11−#endif
12import Control.Monad.Writer.Strict (runWriterT)
11import Control.Monad.Writer.Strict (runWriterT)
13import Control.Monad.Trans.Except (runExceptT)
12import Control.Monad.Trans.Except (runExceptT)
14
13
purescript.cabal+1−1
@@ -197,7 +197,7 @@ executable psci
197 build-depends: base >=4 && <5, containers -any, directory -any, filepath -any,
197 build-depends: base >=4 && <5, containers -any, directory -any, filepath -any,
198 mtl -any, optparse-applicative >= 0.10.0, parsec -any,
198 mtl -any, optparse-applicative >= 0.10.0, parsec -any,
199 haskeline >= 0.7.0.0, purescript -any, transformers -any,
199 haskeline >= 0.7.0.0, purescript -any, transformers -any,
200− transformers-compat -any, process -any, time -any, Glob -any
200+ transformers-compat -any, process -any, time -any, Glob -any, base-compat >=0.6.0
201
201
202 main-is: Main.hs
202 main-is: Main.hs
203 buildable: True
203 buildable: True