on master help sign in
Get Parse.Kernel compiling again
14adb8eEvan Czaplicki
src/Generate/JavaScript/Builder.hs+6−34
@@ -3,7 +3,7 @@
3module Generate.JavaScript.Builder
3module Generate.JavaScript.Builder
4 ( stmtToBuilder
4 ( stmtToBuilder
5 , exprToBuilder
5 , exprToBuilder
6− , Expr(..), Id(..), Prop(..), LValue(..)
6+ , Expr(..), Id(..), LValue(..)
7 , Stmt(..), Case(..), VarDecl(..)
7 , Stmt(..), Case(..), VarDecl(..)
8 , InfixOp(..), PrefixOp(..)
8 , InfixOp(..), PrefixOp(..)
9 )
9 )
@@ -33,7 +33,7 @@ data Expr
33 | Bool Bool
33 | Bool Bool
34 | Null
34 | Null
35 | Array [Expr]
35 | Array [Expr]
36− | Object [(Prop, Expr)]
36+ | Object [(Id, Expr)]
37 | VarRef Id
37 | VarRef Id
38 | DotRef Expr Id -- ^ @foo.bar@, spec 11.2.1
38 | DotRef Expr Id -- ^ @foo.bar@, spec 11.2.1
39 | BracketRef Expr Expr -- ^ @foo[bar]@, spec 11.2.1
39 | BracketRef Expr Expr -- ^ @foo[bar]@, spec 11.2.1
@@ -48,12 +48,6 @@ data Expr
48newtype Id = Id Text
48newtype Id = Id Text
49
49
50
50
51−data Prop
52− = StringProp Text
53− | IntProp Int
54− | IdProp Id
55−
56−
57data LValue
51data LValue
58 = LVar Text
52 = LVar Text
59 | LDot Expr Text
53 | LDot Expr Text
@@ -335,7 +329,7 @@ fromExpr :: Builder -> Grouping -> Expr -> (Lines, Builder)
335fromExpr indent grouping expression =
329fromExpr indent grouping expression =
336 case expression of
330 case expression of
337 String string ->
331 String string ->
338− (One, quoted string)
332+ (One, "'" <> Text.encodeUtf8Builder string <> "'")
339
333
340 Float n ->
334 Float n ->
341 (One, doubleDec n)
335 (One, doubleDec n)
@@ -465,39 +459,17 @@ fromExpr indent grouping expression =
465-- FIELDS
459-- FIELDS
466
460
467
461
468−fromField :: Builder -> (Prop, Expr) -> (Lines, Builder)
462+fromField :: Builder -> (Id, Expr) -> (Lines, Builder)
469−fromField indent (prop, expr) =
463+fromField indent (field, expr) =
470 let
464 let
471 (lines, builder) =
465 (lines, builder) =
472 fromExpr indent Whatever expr
466 fromExpr indent Whatever expr
473 in
467 in
474 ( lines
468 ( lines
475− , fromProp prop <> ": " <> builder
469+ , fromId field <> ": " <> builder
476 )
470 )
477
471
478
472
479−fromProp :: Prop -> Builder
480−fromProp prop =
481− case prop of
482− IdProp name ->
483− fromId name
484−
485− StringProp string ->
486− quoted string
487−
488− IntProp n ->
489− intDec n
490−
491−
492−
493−-- STRINGS
494−
495−
496−quoted :: Text -> Builder
497−quoted str =
498− "'" <> Text.encodeUtf8Builder str <> "'"
499−
500−
501
473
502-- VALUES
474-- VALUES
503
475
src/Generate/JavaScript/Helpers.hs+2−2
@@ -42,9 +42,9 @@ ref name =
42 VarRef (Id name)
42 VarRef (Id name)
43
43
44
44
45−(==>) :: Text -> Expr -> (Prop, Expr)
45+(==>) :: Text -> Expr -> (Id, Expr)
46(==>) name expr =
46(==>) name expr =
47− ( IdProp (Id name), expr )
47+ ( Id name, expr )
48
48
49
49
50obj :: [Text] -> Expr
50obj :: [Text] -> Expr
src/Generate/JavaScript/Variable.hs+4−12
@@ -24,7 +24,6 @@ import qualified Data.Text as Text
24import qualified Data.Text.Encoding as Text (encodeUtf8)
24import qualified Data.Text.Encoding as Text (encodeUtf8)
25import Data.Word (Word8)
25import Data.Word (Word8)
26
26
27−import qualified AST.Helpers as Help
28import qualified AST.Module.Name as ModuleName
27import qualified AST.Module.Name as ModuleName
29import qualified AST.Variable as Var
28import qualified AST.Variable as Var
30import qualified Elm.Package as Pkg
29import qualified Elm.Package as Pkg
@@ -125,17 +124,10 @@ globalToName (ModuleName.Canonical (Pkg.Name user project) moduleName) name =
125 "_" <> ModuleName.getKernel moduleName <> "_" <> name
124 "_" <> ModuleName.getKernel moduleName <> "_" <> name
126
125
127 else
126 else
128− let
129− revisedName =
130− if Help.isOp name then
131− "_op_" <> Help.desymbol name
132− else
133− name
134− in
135− Text.replace "-" "_" user
127+ Text.replace "-" "_" user
136− <> "$" <> Text.replace "-" "_" project
128+ <> "$" <> Text.replace "-" "_" project
137− <> "$" <> Text.replace "." "_" moduleName
129+ <> "$" <> Text.replace "." "_" moduleName
138− <> "$" <> revisedName
130+ <> "$" <> name
139
131
140
132
141
133