From 55d49be4acaee257eca43f64c42530db19aa1941 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Sat, 5 Jun 2021 17:36:24 -0700 Subject: [PATCH 1/3] Update dependencies to v0.14.2 release --- stack.yaml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/stack.yaml b/stack.yaml index 56b85912..bcf7bf78 100644 --- a/stack.yaml +++ b/stack.yaml @@ -7,8 +7,7 @@ flags: packages: - '.' extra-deps: -- purescript-0.14.1 -- purescript-ast-0.1.1.0 -- purescript-cst-0.1.1.0 +- purescript-0.14.2 +- purescript-cst-0.2.0.0 - happy-1.20.0 - language-javascript-0.7.0.0 From fce8308e7f1a0e897f2a2b4659e6566784face1b Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Sat, 5 Jun 2021 17:42:31 -0700 Subject: [PATCH 2/3] Update server to use `rebuildModule'` to speed it up slightly --- server/Main.hs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/server/Main.hs b/server/Main.hs index 4caf7bbf..c3beddab 100644 --- a/server/Main.hs +++ b/server/Main.hs @@ -113,8 +113,8 @@ buildMakeActions codegenRef = outputPrimDocs :: Make.Make () outputPrimDocs = pure () -server :: [P.ExternsFile] -> P.Environment -> Int -> IO () -server externs initEnv port = do +server :: [P.ExternsFile] -> P.Env -> P.Environment -> Int -> IO () +server externs initNamesEnv initEnv port = do codegenRef <- IORef.newIORef Nothing let makeActions = buildMakeActions codegenRef let compile :: Text -> IO (Either Error ([P.JSONError], JS)) @@ -130,7 +130,7 @@ server externs initEnv port = do return $ Left $ toCompilerErrors parserErrors (parserWarnings, Right m) | P.getModuleName m == P.ModuleName "Main" -> do - (makeResult, warnings) <- Make.runMake P.defaultOptions $ Make.rebuildModule makeActions externs m + (makeResult, warnings) <- Make.runMake P.defaultOptions $ Make.rebuildModule' makeActions initNamesEnv externs m codegenResult <- IORef.readIORef codegenRef return $ case makeResult of Left errors -> @@ -235,7 +235,9 @@ main = do inputFiles <- concat <$> traverse glob inputGlobs e <- runExceptT $ do modules <- ExceptT $ I.loadAllModules inputFiles - ExceptT . I.runMake . I.make $ map (second CST.pureResult) modules + (exts, env) <- ExceptT . I.runMake . I.make $ map (second CST.pureResult) modules + namesEnv <- fmap fst . runWriterT $ foldM P.externsEnv P.primEnv exts + pure (exts, namesEnv, env) case e of Left err -> print err >> exitFailure - Right (exts, env) -> server exts env port + Right (exts, namesEnv, env) -> server exts namesEnv env port From 553a70523eeac16f5f5fd3c28e08008f5664a4cf Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Sat, 5 Jun 2021 17:44:48 -0700 Subject: [PATCH 3/3] Update changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 250d06da..0a7e4eb0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ Other improvements: - Stop mangled 'Compiled ModuleName' output (#228 by @JordanMartinez) - Update dev instructions: create valid symbolic link across OSes (#226 by @JordanMartinez) - Added a changelog (#229 by @JordanMartinez) +- Update PureScript dependency to v0.14.2 (#230 by @JordanMartinez) +- Speed up server slightly by using `rebuildModule'` (#230 by @JordanMartinez) ## [v2021-05-29.1](https://github.com/purescript/trypurescript/releases/tag/v2021-05-29.1) - 2021-05-29