on master help sign in
Start calling things ports again
116f789Evan Czaplicki
src/Generate/JavaScript.hs+1−1
@@ -48,7 +48,7 @@ generateEffectManager moduleName effects =
48 Effects.Manager pkgName (Effects.Info _ _ _ _ managerType) ->
48 Effects.Manager pkgName (Effects.Info _ _ _ _ managerType) ->
49 let
49 let
50 managers =
50 managers =
51− Var.native (ModuleName.inCore ["Native","Platform"]) "globalManagerInfo"
51+ Var.native (ModuleName.inCore ["Native","Platform"]) "effectManagers"
52
52
53 managerName =
53 managerName =
54 JS.StringLit () (ModuleName.canonicalToString moduleName)
54 JS.StringLit () (ModuleName.canonicalToString moduleName)
src/Generate/JavaScript/BuiltIn.hs+7−7
@@ -3,7 +3,7 @@ module Generate.JavaScript.BuiltIn
3 , list, range
3 , list, range
4 , recordUpdate
4 , recordUpdate
5 , eq, cmp
5 , eq, cmp
6− , effect, foreignCmd, foreignSub
6+ , effect, outgoingPort, incomingPort
7 , crash
7 , crash
8 )
8 )
9 where
9 where
@@ -91,14 +91,14 @@ effect effectName =
91 JS.StringLit () (ModuleName.canonicalToString effectName)
91 JS.StringLit () (ModuleName.canonicalToString effectName)
92
92
93
93
94−foreignCmd :: String -> JS.Expression () -> JS.Expression ()
94+outgoingPort :: String -> JS.Expression () -> JS.Expression ()
95−foreignCmd name converter =
95+outgoingPort name converter =
96− Var.coreNative "Platform" "foreignCmd" `call` [ JS.StringLit () name, converter ]
96+ Var.coreNative "Platform" "outgoingPort" `call` [ JS.StringLit () name, converter ]
97
97
98
98
99−foreignSub :: String -> JS.Expression () -> JS.Expression ()
99+incomingPort :: String -> JS.Expression () -> JS.Expression ()
100−foreignSub name converter =
100+incomingPort name converter =
101− Var.coreNative "Platform" "foreignSub" `call` [ JS.StringLit () name, converter ]
101+ Var.coreNative "Platform" "incomingPort" `call` [ JS.StringLit () name, converter ]
102
102
103
103
104
104
src/Generate/JavaScript/Expression.hs+2−2
@@ -210,11 +210,11 @@ generateCode expr =
210 jsExpr $ BuiltIn.effect moduleName
210 jsExpr $ BuiltIn.effect moduleName
211
211
212 ForeignCmd name tipe ->
212 ForeignCmd name tipe ->
213− jsExpr $ BuiltIn.foreignCmd name (Foreign.encode tipe)
213+ jsExpr $ BuiltIn.outgoingPort name (Foreign.encode tipe)
214
214
215 ForeignSub name tipe ->
215 ForeignSub name tipe ->
216 do jsDecoder <- generateJsExpr (Foreign.decode tipe)
216 do jsDecoder <- generateJsExpr (Foreign.decode tipe)
217− jsExpr $ BuiltIn.foreignSub name jsDecoder
217+ jsExpr $ BuiltIn.incomingPort name jsDecoder
218
218
219 Program kind body ->
219 Program kind body ->
220 generateProgram kind body
220 generateProgram kind body
src/Parse/Declaration.hs+5−5
@@ -16,7 +16,7 @@ declaration =
16 choice
16 choice
17 [ typeDecl
17 [ typeDecl
18 , infixDecl
18 , infixDecl
19− , foreignDecl
19+ , portDecl
20 , definition
20 , definition
21 ]
21 ]
22
22
@@ -87,10 +87,10 @@ infixDecl =
87-- FOREIGN
87-- FOREIGN
88
88
89
89
90−foreignDecl :: IParser Decl.Raw
90+portDecl :: IParser Decl.Raw
91−foreignDecl =
91+portDecl =
92− expecting "a foreign declaration" $
92+ expecting "a port declaration" $
93− do try (reserved "foreign")
93+ do try (reserved "port")
94 forcedWS
94 forcedWS
95 name <- Help.lowVar
95 name <- Help.lowVar
96 padded hasType
96 padded hasType
src/Parse/Helpers.hs+1−1
@@ -31,7 +31,7 @@ reserveds =
31 , "module", "where"
31 , "module", "where"
32 , "import", "exposing"
32 , "import", "exposing"
33 , "as"
33 , "as"
34− , "deriving"
34+ , "port"
35 ]
35 ]
36
36
37
37
src/Parse/Module.hs+1−3
@@ -96,9 +96,7 @@ parseTag =
96 return (Module.Effect (R.Region start end))
96 return (Module.Effect (R.Region start end))
97 ,
97 ,
98 do start <- getMyPosition
98 do start <- getMyPosition
99− reserved "foreign"
99+ reserved "port"
100− whitespace
101− reserved "effect"
102 whitespace
100 whitespace
103 reserved "module"
101 reserved "module"
104 end <- getMyPosition
102 end <- getMyPosition