git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Add preludeFilename to Language.PureScript
commit3cc2cb4568bd35dcaf3dc6387186eb5acf82fd55 authorMaciej Pietrzak <mpietrzak@gmail.com> dateThu 21 Aug 2014, 15:32 (12 years ago) parent98eaa39
6 files changed+10−22
psc-make/Main.hs+1−4 psc/Main.hs+1−4 psci/Main.hs+1−7 purescript.cabal+1−1 src/Language/PureScript.hs+5−1 tests/Main.hs+1−5
psc-make/Main.hs+1−4
@@ -34,9 +34,6 @@ import qualified Language.PureScript as P
3434import qualified Paths_purescript as Paths
3535import qualified System.IO.UTF8 as U
3636
37−preludeFilename :: IO FilePath
38−preludeFilename = Paths.getDataFileName "prelude/prelude.purs"
39−
4037readInput :: [FilePath] -> IO (Either ParseError [(FilePath, P.Module)])
4138readInput input = fmap collect $ forM input $ \inputFile -> do
4239 text <- U.readFile inputFile
@@ -141,5 +138,5 @@ termInfo = defTI
141138
142139main :: IO ()
143140main = do
144− prelude <- preludeFilename
141+ prelude <- P.preludeFilename
145142 run (term prelude, termInfo)
psc/Main.hs+1−4
@@ -33,9 +33,6 @@ import qualified Language.PureScript as P
3333import qualified Paths_purescript as Paths
3434import qualified System.IO.UTF8 as U
3535
36−preludeFilename :: IO FilePath
37−preludeFilename = Paths.getDataFileName "prelude/prelude.purs"
38−
3936readInput :: Maybe [FilePath] -> IO (Either ParseError [(FilePath, P.Module)])
4037readInput Nothing = do
4138 text <- getContents
@@ -149,6 +146,6 @@ termInfo = defTI
149146
150147main :: IO ()
151148main = do
152− prelude <- preludeFilename
149+ prelude <- P.preludeFilename
153150 run (term prelude, termInfo)
154151
psci/Main.hs+1−7
@@ -116,12 +116,6 @@ findNodeProcess = runMaybeT . msum $ map (MaybeT . findExecutable) names
116116getHistoryFilename :: IO FilePath
117117getHistoryFilename = getUserConfigFile "purescript" "psci_history"
118118
119−-- |
120−-- Grabs the filename where prelude is.
121−--
122−getPreludeFilename :: IO FilePath
123−getPreludeFilename = Paths.getDataFileName "prelude/prelude.purs"
124−
125119-- |
126120-- Loads a file for use with imports.
127121--
@@ -400,7 +394,7 @@ loadUserConfig = do
400394loop :: [FilePath] -> IO ()
401395loop files = do
402396 config <- loadUserConfig
403− preludeFilename <- getPreludeFilename
397+ preludeFilename <- P.preludeFilename
404398 filesAndModules <- mapM (\file -> fmap (fmap (map ((,) file))) . loadModule $ file) (preludeFilename : files)
405399 let modulesOrFirstError = fmap concat $ sequence filesAndModules
406400 case modulesOrFirstError of
purescript.cabal+1−1
@@ -88,7 +88,7 @@ library
8888 exposed: True
8989 buildable: True
9090 hs-source-dirs: src
91− other-modules:
91+ other-modules: Paths_purescript
9292 ghc-options: -Wall -O2
9393
9494executable psc
src/Language/PureScript.hs+5−1
@@ -13,7 +13,7 @@
1313--
1414-----------------------------------------------------------------------------
1515
16−module Language.PureScript (module P, compile, compile', MonadMake(..), make) where
16+module Language.PureScript (module P, compile, compile', MonadMake(..), make, preludeFilename) where
1717
1818import Language.PureScript.Types as P
1919import Language.PureScript.Kinds as P
@@ -34,6 +34,7 @@ import Language.PureScript.Supply as P
3434import Language.PureScript.Renamer as P
3535
3636import qualified Language.PureScript.Constants as C
37+import qualified Paths_purescript as Paths
3738
3839import Data.List (find, sortBy, groupBy, intercalate)
3940import Data.Time.Clock
@@ -261,3 +262,6 @@ importPrim = addDefaultImport (ModuleName [ProperName C.prim])
261262
262263importPrelude :: Module -> Module
263264importPrelude = 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
2727import System.FilePath (pathSeparator)
2828import System.Directory (getCurrentDirectory, getTemporaryDirectory, getDirectoryContents, findExecutable)
2929import Text.Parsec (ParseError)
30−import qualified Paths_purescript as Paths
3130import qualified System.IO.UTF8 as U
3231
33−preludeFilename :: IO FilePath
34−preludeFilename = Paths.getDataFileName "prelude/prelude.purs"
35−
3632readInput :: [FilePath] -> IO (Either ParseError [P.Module])
3733readInput inputFiles = fmap (fmap concat . sequence) $ forM inputFiles $ \inputFile -> do
3834 text <- U.readFile inputFile
@@ -80,7 +76,7 @@ findNodeProcess = runMaybeT . msum $ map (MaybeT . findExecutable) names
8076
8177main :: IO ()
8278main = do
83− prelude <- preludeFilename
79+ prelude <- P.preludeFilename
8480 putStrLn "Compiling Prelude"
8581 preludeResult <- compile (P.defaultOptions { P.optionsBrowserNamespace = Just "Tests" }) [prelude]
8682 case preludeResult of