@@ -179,18 +179,18 @@ generateCode expr =
180 Ctor tag members ->
180 Ctor tag members ->
182− ctor =
182+ tagField =
183− "ctor" ==> JS.String tag
183+ "$" ==> JS.String tag
185 toEntry entry n =
185 toEntry entry n =
186− ("_" <> Text.pack (show n)) ==> entry
186+ (Help.toFieldName n) ==> entry
188 do jsMembers <- mapM generateJsExpr members
188 do jsMembers <- mapM generateJsExpr members
189− jsExpr $ JS.Object (ctor : zipWith toEntry jsMembers [ 0 :: Int .. ])
189+ jsExpr $ JS.Object (tagField : zipWith toEntry jsMembers [ 0 :: Int .. ])
191 CtorAccess dataExpr index ->
191 CtorAccess dataExpr index ->
192 do jsDataExpr <- generateJsExpr dataExpr
192 do jsDataExpr <- generateJsExpr dataExpr
193− jsExpr $ JS.DotRef jsDataExpr (JS.Id ("_" <> Text.pack (show index)))
193+ jsExpr $ JS.DotRef jsDataExpr (JS.Id (Help.toFieldName index))
195 Cmd moduleName _ ->
195 Cmd moduleName _ ->
196 JsExpr <$> BuiltIn.effect moduleName
196 JsExpr <$> BuiltIn.effect moduleName
@@ -515,7 +515,7 @@ pathToTestableExpr root path exampleTest =
515 do accessExpr <- generateJsExpr (pathToExpr root path)
515 do accessExpr <- generateJsExpr (pathToExpr root path)
516 case exampleTest of
516 case exampleTest of
517 DT.Constructor _ ->
517 DT.Constructor _ ->
518− return $ JS.DotRef accessExpr (JS.Id "ctor")
518+ return $ JS.DotRef accessExpr (JS.Id "$")
520 DT.Literal (L.Chr _) ->
520 DT.Literal (L.Chr _) ->
521 return $ JS.Call (JS.DotRef accessExpr (JS.Id "valueOf")) []
521 return $ JS.Call (JS.DotRef accessExpr (JS.Id "valueOf")) []