purescript 0.2.10.1 → 0.2.10.2
raw patch · 3 files changed
+4/−3 lines, 3 files
Files
purescript.cabal view
@@ -1,5 +1,5 @@ name: purescript-version: 0.2.10.1+version: 0.2.10.2 cabal-version: >=1.8 build-type: Simple license: MIT
src/Language/PureScript.hs view
@@ -33,6 +33,6 @@ compile opts ms = do desugared <- desugar ms (_, env) <- runCheck $ forM_ desugared $ \(Module moduleName decls) -> typeCheckAll (ModuleName moduleName) decls- let js = prettyPrintJS . map (optimize opts) . concatMap (flip (moduleToJs opts) env) $ desugared+ let js = prettyPrintJS . concatMap (flip (moduleToJs opts) env) $ desugared let exts = intercalate "\n" . map (flip moduleToPs env) $ desugared return (js, exts, env)
src/Language/PureScript/CodeGen/JS.hs view
@@ -33,13 +33,14 @@ import Language.PureScript.Options import Language.PureScript.CodeGen.JS.AST as AST import Language.PureScript.Types+import Language.PureScript.CodeGen.Optimize moduleToJs :: Options -> Module -> Environment -> [JS] moduleToJs opts (Module pname@(ProperName name) decls) env = mapMaybe filterRawDecls decls ++ [ JSVariableIntroduction (Ident name) Nothing , JSApp (JSFunction Nothing [Ident name]- (JSBlock (concat $ mapMaybe (\decl -> declToJs opts (ModuleName pname) decl env) decls)))+ (JSBlock (concat $ mapMaybe (\decl -> fmap (map $ optimize opts) $ declToJs opts (ModuleName pname) decl env) decls))) [JSAssignment (JSAssignVariable (Ident name)) (JSBinary Or (JSVar (Ident name)) (JSObjectLiteral []))] ]