on master help sign in
javascript: load includes
commita10f705da6000120864fb76e01b40c4f75d0434b authorraichoo <raichoo@googlemail.com> dateTue 24 Jun 2014, 15:26 (12 years ago) parente725b8a
1 file changed+8−3
src/IRTS/CodegenJavaScript.hs+8−3
src/IRTS/CodegenJavaScript.hs+8−3
@@ -11,14 +11,15 @@ import Paths_idris
1111import Util.System
1212
1313import Control.Arrow
14+import Control.Monad (mapM)
1415import Control.Applicative ((<$>), (<*>), pure)
15−import Control.Monad.RWS
16+import Control.Monad.RWS hiding (mapM)
1617import Data.Char
1718import Numeric
1819import Data.List
1920import Data.Maybe
2021import Data.Word
21−import Data.Traversable
22+import Data.Traversable hiding (mapM)
2223import System.IO
2324import System.Directory
2425
@@ -358,17 +359,21 @@ codegenJS_all target definitions includes filename outputType = do
358359 ("#!/usr/bin/env node\n", "-node")
359360 JavaScript ->
360361 ("", "-browser")
362+ included <- concat <$> getIncludes includes
361363 path <- (++) <$> getDataDir <*> (pure "/jsrts/")
362364 idrRuntime <- readFile $ path ++ "Runtime-common.js"
363365 tgtRuntime <- readFile $ concat [path, "Runtime", rt, ".js"]
364366 jsbn <- readFile $ path ++ "jsbn/jsbn.js"
365− let runtime = header ++ jsbn ++ idrRuntime ++ tgtRuntime
367+ let runtime = header ++ included ++ jsbn ++ idrRuntime ++ tgtRuntime
366368 writeFile filename $ runtime ++ concat code ++ main ++ invokeMain
367369 setPermissions filename (emptyPermissions { readable = True
368370 , executable = target == Node
369371 , writable = True
370372 })
371373 where
374+ getIncludes :: [FilePath] -> IO [String]
375+ getIncludes = mapM readFile
376+
372377 main :: String
373378 main = compileJS $
374379 JSAlloc "main" $ Just $ JSFunction [] (