@@ -113,8 +113,8 @@ buildMakeActions codegenRef =
113
113
outputPrimDocs :: Make. Make ()
114
114
outputPrimDocs = pure ()
115
115
116
- server :: [P. ExternsFile ] -> P. Environment -> Int -> IO ()
117
- server externs initEnv port = do
116
+ server :: [P. ExternsFile ] -> P. Env -> P. Environment -> Int -> IO ()
117
+ server externs initNamesEnv initEnv port = do
118
118
codegenRef <- IORef. newIORef Nothing
119
119
let makeActions = buildMakeActions codegenRef
120
120
let compile :: Text -> IO (Either Error ([P. JSONError ], JS ))
@@ -130,7 +130,7 @@ server externs initEnv port = do
130
130
return $ Left $ toCompilerErrors parserErrors
131
131
132
132
(parserWarnings, Right m) | P. getModuleName m == P. ModuleName " Main" -> do
133
- (makeResult, warnings) <- Make. runMake P. defaultOptions $ Make. rebuildModule makeActions externs m
133
+ (makeResult, warnings) <- Make. runMake P. defaultOptions $ Make. rebuildModule' makeActions initNamesEnv externs m
134
134
codegenResult <- IORef. readIORef codegenRef
135
135
return $ case makeResult of
136
136
Left errors ->
@@ -235,7 +235,9 @@ main = do
235
235
inputFiles <- concat <$> traverse glob inputGlobs
236
236
e <- runExceptT $ do
237
237
modules <- ExceptT $ I. loadAllModules inputFiles
238
- ExceptT . I. runMake . I. make $ map (second CST. pureResult) modules
238
+ (exts, env) <- ExceptT . I. runMake . I. make $ map (second CST. pureResult) modules
239
+ namesEnv <- fmap fst . runWriterT $ foldM P. externsEnv P. primEnv exts
240
+ pure (exts, namesEnv, env)
239
241
case e of
240
242
Left err -> print err >> exitFailure
241
- Right (exts, env) -> server exts env port
243
+ Right (exts, namesEnv, env) -> server exts namesEnv env port
0 commit comments