@@ -113,8 +113,8 @@ buildMakeActions codegenRef =
113113 outputPrimDocs :: Make. Make ()
114114 outputPrimDocs = pure ()
115115
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
118118 codegenRef <- IORef. newIORef Nothing
119119 let makeActions = buildMakeActions codegenRef
120120 let compile :: Text -> IO (Either Error ([P. JSONError ], JS ))
@@ -130,7 +130,7 @@ server externs initEnv port = do
130130 return $ Left $ toCompilerErrors parserErrors
131131
132132 (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
134134 codegenResult <- IORef. readIORef codegenRef
135135 return $ case makeResult of
136136 Left errors ->
@@ -235,7 +235,9 @@ main = do
235235 inputFiles <- concat <$> traverse glob inputGlobs
236236 e <- runExceptT $ do
237237 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)
239241 case e of
240242 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