@@ -17,7 +17,7 @@ import qualified Text.Jasmine as JS
17import qualified Data.ByteString.Lazy.Char8 as BS
17import qualified Data.ByteString.Lazy.Char8 as BS
19import SourceSyntax.Module
19import SourceSyntax.Module
20−import Initialize (buildFromSource, getSortedModuleNames)
20+import Initialize (buildFromSource, getSortedModuleNames, TypeLibrary)
21import Generate.JavaScript (jsModule)
21import Generate.JavaScript (jsModule)
22import Generate.Html (createHtml, JSStyle(..), JSSource(..))
22import Generate.Html (createHtml, JSStyle(..), JSSource(..))
23import Paths_Elm
23import Paths_Elm
@@ -79,12 +79,7 @@ elmo flags filePath = file flags filePath "elmo"
79elmi flags filePath = file flags filePath "elmi"
79elmi flags filePath = file flags filePath "elmi"
85− -> Map.Map String ModuleInterface
87− -> IO ModuleInterface
82+buildFile :: Flags -> Int -> Int -> TypeLibrary -> FilePath -> IO ModuleInterface
88buildFile flags moduleNum numModules interfaces filePath =
83buildFile flags moduleNum numModules interfaces filePath =
89 do compiled <- alreadyCompiled
84 do compiled <- alreadyCompiled
90 if compiled then decodeFile (elmi flags filePath) else compile
85 if compiled then decodeFile (elmi flags filePath) else compile
@@ -172,11 +167,7 @@ build flags rootFile = do
172 [ Source (if minify flags then Minified else Readable) js ]
167 [ Source (if minify flags then Minified else Readable) js ]
175−buildFiles :: Flags
170+buildFiles :: Flags -> Int -> TypeLibrary -> [FilePath] -> IO TypeLibrary
177− -> Map.Map String ModuleInterface
179− -> IO (Map.Map String ModuleInterface)
180buildFiles _ _ interfaces [] = return interfaces
171buildFiles _ _ interfaces [] = return interfaces
181buildFiles flags numModules interfaces (filePath:rest) = do
172buildFiles flags numModules interfaces (filePath:rest) = do
182 interface <- buildFile flags (numModules - length rest) numModules interfaces filePath
173 interface <- buildFile flags (numModules - length rest) numModules interfaces filePath