git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Use base-compat in psci
commitd1d281aa1f304222b2d84ec774e12d9321dfa05e authorOleg Grenrus <oleg.grenrus@iki.fi> dateThu 5 Nov 2015, 06:46 (11 years ago) parent8f7583e
5 files changed+16−28
psci/Completion.hs+3−8 psci/PSCi.hs+7−8 psci/Parser.hs+2−7 psci/tests/Main.hs+3−4 purescript.cabal+1−1
psci/Completion.hs+3−8
@@ -1,19 +1,14 @@
1−{-# LANGUAGE CPP #-}
2−
31module Completion where
42
3+import Prelude ()
4+import Prelude.Compat
5+
56import Data.Maybe (mapMaybe)
67import Data.List (nub, nubBy, sortBy, isPrefixOf, stripPrefix)
78import Data.Char (isUpper)
89import Data.Function (on)
9−#if __GLASGOW_HASKELL__ < 710
10−import Data.Traversable (traverse)
11−#endif
1210
1311import Control.Arrow (second)
14−#if __GLASGOW_HASKELL__ < 710
15−import Control.Applicative ((<$>), (<*>))
16−#endif
1712import Control.Monad.Trans.Reader (asks, runReaderT, ReaderT)
1813import Control.Monad.Trans.State.Strict
1914
psci/PSCi.hs+7−8
@@ -17,15 +17,14 @@
1717{-# LANGUAGE GeneralizedNewtypeDeriving #-}
1818{-# LANGUAGE RecordWildCards #-}
1919{-# LANGUAGE TupleSections #-}
20−{-# LANGUAGE CPP #-}
2120
2221module PSCi where
2322
23+import Prelude ()
24+import Prelude.Compat
25+
2426import Data.Foldable (traverse_)
2527import Data.List (intercalate, nub, sort)
26−#if __GLASGOW_HASKELL__ < 710
27−import Data.Traversable (traverse)
28−#endif
2928import Data.Tuple (swap)
3029import Data.Version (showVersion)
3130import qualified Data.Map as M
@@ -507,7 +506,7 @@ loadUserConfig = onFirstFileMatching readCommands pathGetters
507506 if exists
508507 then do
509508 ls <- lines <$> readFile configFile
510− case mapM parseCommand ls of
509+ case traverse parseCommand ls of
511510 Left err -> print err >> exitFailure
512511 Right cs -> return $ Just cs
513512 else
@@ -524,8 +523,8 @@ consoleIsDefined = any ((== P.ModuleName (map P.ProperName [ "Control", "Monad",
524523loop :: PSCiOptions -> IO ()
525524loop PSCiOptions{..} = do
526525 config <- loadUserConfig
527− inputFiles <- concat <$> mapM glob psciInputFile
528− foreignFiles <- concat <$> mapM glob psciForeignInputFiles
526+ inputFiles <- concat <$> traverse glob psciInputFile
527+ foreignFiles <- concat <$> traverse glob psciForeignInputFiles
529528 modulesOrFirstError <- loadAllModules inputFiles
530529 case modulesOrFirstError of
531530 Left errs -> putStrLn (P.prettyPrintMultipleErrors False errs) >> exitFailure
@@ -540,7 +539,7 @@ loop PSCiOptions{..} = do
540539 Right foreigns ->
541540 flip evalStateT (PSCiState inputFiles [] modules foreigns [] psciInputNodeFlags) . runInputT (setComplete completion settings) $ do
542541 outputStrLn prologueMessage
543− traverse_ (mapM_ (runPSCI . handleCommand)) config
542+ traverse_ (traverse_ (runPSCI . handleCommand)) config
544543 modules' <- lift $ gets psciLoadedModules
545544 unless (consoleIsDefined (map snd modules')) . outputStrLn $ unlines
546545 [ "PSCi requires the purescript-console module to be installed."
psci/Parser.hs+2−7
@@ -13,21 +13,16 @@
1313--
1414-----------------------------------------------------------------------------
1515
16−{-# LANGUAGE CPP #-}
17−
1816module Parser
1917 ( parseCommand
2018 ) where
2119
22−import Prelude hiding (lex)
20+import Prelude ()
21+import Prelude.Compat hiding (lex)
2322
2423import Data.Char (isSpace)
2524import Data.List (intercalate)
2625
27−#if __GLASGOW_HASKELL__ < 710
28−import Control.Applicative hiding (many)
29−#endif
30−
3126import Text.Parsec hiding ((<|>))
3227
3328import qualified Language.PureScript as P
psci/tests/Main.hs+3−4
@@ -1,14 +1,13 @@
11{-# LANGUAGE RecordWildCards #-}
22{-# LANGUAGE TupleSections #-}
3−{-# LANGUAGE CPP #-}
43
54module Main where
65
6+import Prelude ()
7+import Prelude.Compat
8+
79import Control.Monad.Trans.State.Strict (runStateT)
810import Control.Monad (when, forM)
9−#if __GLASGOW_HASKELL__ < 710
10−import Control.Applicative
11−#endif
1211import Control.Monad.Writer.Strict (runWriterT)
1312import Control.Monad.Trans.Except (runExceptT)
1413
purescript.cabal+1−1
@@ -197,7 +197,7 @@ executable psci
197197 build-depends: base >=4 && <5, containers -any, directory -any, filepath -any,
198198 mtl -any, optparse-applicative >= 0.10.0, parsec -any,
199199 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
201201
202202 main-is: Main.hs
203203 buildable: True