on master help sign in
Change such that `import` imports all by default. Too annoying the other way. Write a linter for that.

Also make imports a bit more concise in generated JS.

commit96ef98417c5ed16a86ade8e0aa670a6fe47a41aa authorevancz <info@elm-lang.org> dateSat 16 Mar 2013, 13:02 (14 years ago) parent194b259
2 files changed+6−7
compiler/Gen/CompileToJS.hs+5−6 compiler/Parse/Modules.hs+1−1
compiler/Gen/CompileToJS.hs+5−6
@@ -95,14 +95,13 @@ jsImport (modul, how) =
9595 case how of
9696 As name -> assign name ("Elm." ++ modul ++ parens "elm")
9797 Importing vs ->
98− "\nvar _$ = Elm." ++ modul ++ parens "elm" ++ ";" ++
99− if null vs then "\nfor (var k in _$) {eval('var '+k+'=_$[\"'+k+'\"]')}"
100− else concatMap def vs
98+ "\nvar $ = Elm." ++ modul ++ parens "elm" ++ ";" ++
99+ if null vs then "\nfor (var k in $) {eval('var '+k+'=$[\"'+k+'\"]')}"
100+ else "\nvar " ++ intercalate ", " (map def vs) ++ ";"
101101 where
102− imprt asgn v = asgn v ("_$." ++ v)
102+ imprt v = assign' v ("$." ++ v)
103103 def (o:p) =
104− if isOp o then imprt globalAssign ("$op['" ++ o:p ++ "']")
105− else imprt assign (deprime (o:p))
104+ imprt (if isOp o then "$op['" ++ o:p ++ "']" else deprime (o:p))
106105
107106
108107stmtsToJS :: [Statement] -> String
compiler/Parse/Modules.hs+1−1
@@ -31,7 +31,7 @@ import' = do
3131 reserved "import"
3232 whitespace
3333 name <- intercalate "." <$> dotSep1 capVar
34− method <- option (As name) $ try (whitespace >> (as' <|> importing'))
34+ method <- option (Importing []) $ try (whitespace >> (as' <|> importing'))
3535 return (name, method)
3636
3737