@@ -26,13 +26,19 @@ indent = concatMap f
28parens s = "(" ++ s ++ ")"
28parens s = "(" ++ s ++ ")"
29−quoted s = "'" ++ s ++ "'"
30braces s = "{" ++ s ++ "}"
29braces s = "{" ++ s ++ "}"
31jsList ss = "["++ intercalate "," ss ++"]"
30jsList ss = "["++ intercalate "," ss ++"]"
32jsFunc args body = "function(" ++ args ++ "){" ++ indent body ++ "}"
31jsFunc args body = "function(" ++ args ++ "){" ++ indent body ++ "}"
33assign x e = "\nvar " ++ x ++ "=" ++ e ++ ";"
32assign x e = "\nvar " ++ x ++ "=" ++ e ++ ";"
34ret e = "\nreturn "++ e ++";"
33ret e = "\nreturn "++ e ++";"
35iff a b c = a ++ "?" ++ b ++ ":" ++ c
34iff a b c = a ++ "?" ++ b ++ ":" ++ c
35+quoted s = "'" ++ concatMap f s ++ "'"
37mainEquals s = globalAssign "Elm.main" (jsFunc "" (ret s))
43mainEquals s = globalAssign "Elm.main" (jsFunc "" (ret s))
38globalAssign m s = "\n" ++ m ++ "=" ++ s ++ ";"
44globalAssign m s = "\n" ++ m ++ "=" ++ s ++ ";"