git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Merge pull request #568 from mpietrzak/master
05b404dPhil Freeman
psc-make/Main.hs+1−4
@@ -34,9 +34,6 @@ import qualified Language.PureScript as P
34import qualified Paths_purescript as Paths
34import qualified Paths_purescript as Paths
35import qualified System.IO.UTF8 as U
35import qualified System.IO.UTF8 as U
36
36
37−preludeFilename :: IO FilePath
38−preludeFilename = Paths.getDataFileName "prelude/prelude.purs"
39−
40readInput :: [FilePath] -> IO (Either ParseError [(FilePath, P.Module)])
37readInput :: [FilePath] -> IO (Either ParseError [(FilePath, P.Module)])
41readInput input = fmap collect $ forM input $ \inputFile -> do
38readInput input = fmap collect $ forM input $ \inputFile -> do
42 text <- U.readFile inputFile
39 text <- U.readFile inputFile
@@ -141,5 +138,5 @@ termInfo = defTI
141
138
142main :: IO ()
139main :: IO ()
143main = do
140main = do
144− prelude <- preludeFilename
141+ prelude <- P.preludeFilename
145 run (term prelude, termInfo)
142 run (term prelude, termInfo)
psc/Main.hs+1−4
@@ -33,9 +33,6 @@ import qualified Language.PureScript as P
33import qualified Paths_purescript as Paths
33import qualified Paths_purescript as Paths
34import qualified System.IO.UTF8 as U
34import qualified System.IO.UTF8 as U
35
35
36−preludeFilename :: IO FilePath
37−preludeFilename = Paths.getDataFileName "prelude/prelude.purs"
38−
39readInput :: Maybe [FilePath] -> IO (Either ParseError [(FilePath, P.Module)])
36readInput :: Maybe [FilePath] -> IO (Either ParseError [(FilePath, P.Module)])
40readInput Nothing = do
37readInput Nothing = do
41 text <- getContents
38 text <- getContents
@@ -149,6 +146,6 @@ termInfo = defTI
149
146
150main :: IO ()
147main :: IO ()
151main = do
148main = do
152− prelude <- preludeFilename
149+ prelude <- P.preludeFilename
153 run (term prelude, termInfo)
150 run (term prelude, termInfo)
154
151
psci/Main.hs+1−7
@@ -116,12 +116,6 @@ findNodeProcess = runMaybeT . msum $ map (MaybeT . findExecutable) names
116getHistoryFilename :: IO FilePath
116getHistoryFilename :: IO FilePath
117getHistoryFilename = getUserConfigFile "purescript" "psci_history"
117getHistoryFilename = getUserConfigFile "purescript" "psci_history"
118
118
119−-- |
120−-- Grabs the filename where prelude is.
121−--
122−getPreludeFilename :: IO FilePath
123−getPreludeFilename = Paths.getDataFileName "prelude/prelude.purs"
124−
125-- |
119-- |
126-- Loads a file for use with imports.
120-- Loads a file for use with imports.
127--
121--
@@ -400,7 +394,7 @@ loadUserConfig = do
400loop :: [FilePath] -> IO ()
394loop :: [FilePath] -> IO ()
401loop files = do
395loop files = do
402 config <- loadUserConfig
396 config <- loadUserConfig
403− preludeFilename <- getPreludeFilename
397+ preludeFilename <- P.preludeFilename
404 filesAndModules <- mapM (\file -> fmap (fmap (map ((,) file))) . loadModule $ file) (preludeFilename : files)
398 filesAndModules <- mapM (\file -> fmap (fmap (map ((,) file))) . loadModule $ file) (preludeFilename : files)
405 let modulesOrFirstError = fmap concat $ sequence filesAndModules
399 let modulesOrFirstError = fmap concat $ sequence filesAndModules
406 case modulesOrFirstError of
400 case modulesOrFirstError of
purescript.cabal+1−1
@@ -88,7 +88,7 @@ library
88 exposed: True
88 exposed: True
89 buildable: True
89 buildable: True
90 hs-source-dirs: src
90 hs-source-dirs: src
91− other-modules:
91+ other-modules: Paths_purescript
92 ghc-options: -Wall -O2
92 ghc-options: -Wall -O2
93
93
94executable psc
94executable psc
src/Language/PureScript.hs+5−1
@@ -13,7 +13,7 @@
13--
13--
14-----------------------------------------------------------------------------
14-----------------------------------------------------------------------------
15
15
16−module Language.PureScript (module P, compile, compile', MonadMake(..), make) where
16+module Language.PureScript (module P, compile, compile', MonadMake(..), make, preludeFilename) where
17
17
18import Language.PureScript.Types as P
18import Language.PureScript.Types as P
19import Language.PureScript.Kinds as P
19import Language.PureScript.Kinds as P
@@ -34,6 +34,7 @@ import Language.PureScript.Supply as P
34import Language.PureScript.Renamer as P
34import Language.PureScript.Renamer as P
35
35
36import qualified Language.PureScript.Constants as C
36import qualified Language.PureScript.Constants as C
37+import qualified Paths_purescript as Paths
37
38
38import Data.List (find, sortBy, groupBy, intercalate)
39import Data.List (find, sortBy, groupBy, intercalate)
39import Data.Time.Clock
40import Data.Time.Clock
@@ -261,3 +262,6 @@ importPrim = addDefaultImport (ModuleName [ProperName C.prim])
261
262
262importPrelude :: Module -> Module
263importPrelude :: Module -> Module
263importPrelude = addDefaultImport (ModuleName [ProperName C.prelude])
264importPrelude = addDefaultImport (ModuleName [ProperName C.prelude])
265+
266+preludeFilename :: IO FilePath
267+preludeFilename = Paths.getDataFileName "prelude/prelude.purs"
tests/Main.hs+1−5
@@ -27,12 +27,8 @@ import System.Process
27import System.FilePath (pathSeparator)
27import System.FilePath (pathSeparator)
28import System.Directory (getCurrentDirectory, getTemporaryDirectory, getDirectoryContents, findExecutable)
28import System.Directory (getCurrentDirectory, getTemporaryDirectory, getDirectoryContents, findExecutable)
29import Text.Parsec (ParseError)
29import Text.Parsec (ParseError)
30−import qualified Paths_purescript as Paths
31import qualified System.IO.UTF8 as U
30import qualified System.IO.UTF8 as U
32
31
33−preludeFilename :: IO FilePath
34−preludeFilename = Paths.getDataFileName "prelude/prelude.purs"
35−
36readInput :: [FilePath] -> IO (Either ParseError [P.Module])
32readInput :: [FilePath] -> IO (Either ParseError [P.Module])
37readInput inputFiles = fmap (fmap concat . sequence) $ forM inputFiles $ \inputFile -> do
33readInput inputFiles = fmap (fmap concat . sequence) $ forM inputFiles $ \inputFile -> do
38 text <- U.readFile inputFile
34 text <- U.readFile inputFile
@@ -80,7 +76,7 @@ findNodeProcess = runMaybeT . msum $ map (MaybeT . findExecutable) names
80
76
81main :: IO ()
77main :: IO ()
82main = do
78main = do
83− prelude <- preludeFilename
79+ prelude <- P.preludeFilename
84 putStrLn "Compiling Prelude"
80 putStrLn "Compiling Prelude"
85 preludeResult <- compile (P.defaultOptions { P.optionsBrowserNamespace = Just "Tests" }) [prelude]
81 preludeResult <- compile (P.defaultOptions { P.optionsBrowserNamespace = Just "Tests" }) [prelude]
86 case preludeResult of
82 case preludeResult of