on master help sign in
Generate bags of effects for commands and subscriptions
commit9d47fd5f43a5a9b11c5a74c6440b8c5e5deb1c12 authorEvan Czaplicki <info@elm-lang.org> dateMon 22 Feb 2016, 01:45 (11 years ago) parente1226d8
2 files changed+7−10
src/Generate/JavaScript/BuiltIn.hs+5−8 src/Generate/JavaScript/Expression.hs+2−2
src/Generate/JavaScript/BuiltIn.hs+5−8
@@ -3,7 +3,7 @@ module Generate.JavaScript.BuiltIn
33 , list, range
44 , recordUpdate
55 , eq, cmp
6− , cmd, sub
6+ , effect
77 , crash
88 )
99 where
@@ -85,15 +85,12 @@ cmp left right =
8585-- EFFECTS
8686
8787
88−cmd :: ModuleName.Canonical -> JS.Expression ()
89−cmd effectName =
90− utils "cmd" [ JS.StringLit () (ModuleName.canonicalToString effectName) ]
88+effect :: ModuleName.Canonical -> JS.Expression ()
89+effect effectName =
90+ obj ["_elm_lang$core$Native_Platform", "leaf"] <|
91+ JS.StringLit () (ModuleName.canonicalToString effectName)
9192
9293
93−sub :: ModuleName.Canonical -> JS.Expression ()
94−sub effectName =
95− utils "sub" [ JS.StringLit () (ModuleName.canonicalToString effectName) ]
96−
9794
9895-- CRASH
9996
src/Generate/JavaScript/Expression.hs+2−2
@@ -198,10 +198,10 @@ generateCode expr =
198198 jsExpr $ DotRef () jsDataExpr (var ("_" ++ show index))
199199
200200 Cmd moduleName ->
201− jsExpr $ BuiltIn.cmd moduleName
201+ jsExpr $ BuiltIn.effect moduleName
202202
203203 Sub moduleName ->
204− jsExpr $ BuiltIn.sub moduleName
204+ jsExpr $ BuiltIn.effect moduleName
205205
206206 GLShader _uid src _tipe ->
207207 jsExpr $ ObjectLit () [(PropString () "src", Literal.literal (L.Str src))]