on master help sign in
Start using Metadata.Prelude
commit016a199b508ce6c534de2f0987b9bc22bc62be9f authorEvan Czaplicki <info@elm-lang.org> dateThu 25 Jul 2013, 20:53 (13 years ago) parentd4b2366
3 files changed+10−10
compiler/Compiler.hs+5−5 compiler/Initialize.hs+2−2 compiler/Metadata/Prelude.hs+3−3
compiler/Compiler.hs+5−5
@@ -4,7 +4,7 @@ module Main where
44import Control.Monad
55import qualified Data.Map as Map
66import qualified Data.List as List
7−import Data.Binary (encodeFile, decodeFile)
7+import qualified Data.Binary as Binary
88import Data.Version (showVersion)
99import System.Console.CmdArgs hiding (program)
1010import System.Directory
@@ -16,6 +16,7 @@ import qualified Text.Blaze.Html.Renderer.String as Normal
1616import qualified Text.Jasmine as JS
1717import qualified Data.ByteString.Lazy.Char8 as BS
1818
19+import qualified Metadata.Prelude as Prelude
1920import SourceSyntax.Module
2021import Initialize (buildFromSource, getSortedModuleNames, Interfaces)
2122import Generate.JavaScript (jsModule)
@@ -86,7 +87,7 @@ elmi flags filePath = file flags filePath "elmi"
8687buildFile :: Flags -> Int -> Int -> Interfaces -> FilePath -> IO ModuleInterface
8788buildFile flags moduleNum numModules interfaces filePath =
8889 do compiled <- alreadyCompiled
89− if compiled then decodeFile (elmi flags filePath) else compile
90+ if compiled then Binary.decodeFile (elmi flags filePath) else compile
9091
9192 where
9293 alreadyCompiled :: IO Bool
@@ -121,7 +122,7 @@ buildFile flags moduleNum numModules interfaces filePath =
121122 iTypes = tipes,
122123 iAdts = datatypes metaModule
123124 }
124− encodeFile (elmi flags filePath) interface
125+ Binary.encodeFile (elmi flags filePath) interface
125126 let js = jsModule metaModule
126127 writeFile (elmo flags filePath) js
127128 return interface
@@ -146,8 +147,7 @@ getRuntime flags =
146147build :: Flags -> FilePath -> IO ()
147148build flags rootFile = do
148149 files <- if make flags then getSortedModuleNames rootFile else return [rootFile]
149− let initialInterface = if no_prelude flags then Map.empty else Map.empty
150− interfaces <- buildFiles flags (length files) initialInterface files
150+ interfaces <- buildFiles flags (length files) Prelude.interfaces files
151151 js <- foldM appendToOutput "" files
152152 case only_js flags of
153153 True -> do
compiler/Initialize.hs+2−2
@@ -11,7 +11,7 @@ import Text.PrettyPrint (Doc)
1111import SourceSyntax.Everything
1212import SourceSyntax.Type
1313import qualified Parse.Parse as Parse
14−import qualified Metadata.Libraries as Libs
14+import qualified Metadata.Prelude as Prelude
1515import qualified Transform.Check as Check
1616import qualified Transform.SortDefinitions as SD
1717import qualified Type.Inference as TI
@@ -82,7 +82,7 @@ readDeps seen root = do
8282 realDeps = filter (`notElem` builtIns) deps
8383 newDeps = filter (\d -> not (d `elem` seen || isNative d)) realDeps
8484 seen' = root : seen ++ newDeps
85− builtIns = Map.keys Libs.libraries
85+ builtIns = Map.keys Prelude.interfaces
8686
8787
8888isNative name = List.isPrefixOf "Native." name
compiler/Metadata/Prelude.hs+3−3
@@ -1,4 +1,4 @@
1−module Metadata.Libraries (interfaces, addPrelude) where
1+module Metadata.Prelude (interfaces, add) where
22
33import qualified Data.Map as Map
44import qualified Control.Exception as E
@@ -11,8 +11,8 @@ import SourceSyntax.Module
1111import Data.Binary
1212
1313
14−addPrelude :: Module t v -> Module t v
15−addPrelude (Module name exs ims stmts) = Module name exs (customIms ++ ims) stmts
14+add :: Module t v -> Module t v
15+add (Module name exs ims stmts) = Module name exs (customIms ++ ims) stmts
1616 where
1717 customIms = concatMap addModule prelude
1818