on master help sign in
No longer need to carry table of names around
commit3dcae17d993ec61323bc7be6d201bb8b13620e7a authorEvan Czaplicki <evancz@users.noreply.github.com> dateWed 17 May 2017, 01:45 (9 years ago) parent5758751
1 file changed+10−13
src/Generate/JavaScript.hs+10−13
src/Generate/JavaScript.hs+10−13
@@ -30,11 +30,11 @@ import qualified Generate.JavaScript.Variable as JS
3030generate :: Obj.Graph -> Obj.Roots -> BS.Builder
3131generate graph roots =
3232 let
33− (State builders _ _ effects table) =
33+ (State builders _ _ effects) =
3434 List.foldl' (crawl graph) initialState (Obj.toGlobals roots)
3535
3636 managers =
37− fst $ JS.run table (JsEffects.generate effects)
37+ JS.run (JsEffects.generate effects)
3838 in
3939 List.foldl' (\rest stmt -> stmt <> rest) managers builders
4040
@@ -49,13 +49,12 @@ data State =
4949 , _seenDecls :: Set.Set Var.Global
5050 , _seenKernels :: Set.Set ModuleName.Raw
5151 , _effects :: Map.Map ModuleName.Canonical Effects.ManagerType
52− , _table :: JS.Table
5352 }
5453
5554
5655initialState :: State
5756initialState =
58− State [] Set.empty Set.empty Map.empty JS.emptyTable
57+ State [] Set.empty Set.empty Map.empty
5958
6059
6160
@@ -63,7 +62,7 @@ initialState =
6362
6463
6564crawl :: Obj.Graph -> State -> Var.Global -> State
66−crawl graph@(Obj.Graph decls kernels) state@(State _ seenDecls seenKernels _ _) name@(Var.Global home _) =
65+crawl graph@(Obj.Graph decls kernels) state@(State _ seenDecls seenKernels _) name@(Var.Global home _) =
6766 if Set.member name seenDecls then
6867 state
6968
@@ -101,11 +100,11 @@ crawlDecl graph var@(Var.Global home name) (Opt.Decl direct indirect fx body) st
101100 state2 =
102101 state1 { _seenDecls = Set.insert var (_seenDecls state1) }
103102
104− (State builders seenDecls seenKernels effects table) =
103+ (State builders seenDecls seenKernels effects) =
105104 Set.foldl' (crawl graph) state2 direct
106105
107− (stmt, newTable) =
108− JS.run table (JsExpr.generateDecl home name body)
106+ stmt =
107+ JS.run (JsExpr.generateDecl home name body)
109108
110109 state4 =
111110 State
@@ -113,7 +112,6 @@ crawlDecl graph var@(Var.Global home name) (Opt.Decl direct indirect fx body) st
113112 , _seenDecls = seenDecls
114113 , _seenKernels = seenKernels
115114 , _effects = maybe id (Map.insert home) fx effects
116− , _table = newTable
117115 }
118116 in
119117 Set.foldl' (crawl graph) state4 indirect
@@ -129,18 +127,17 @@ crawlKernel graph name (Kernel.Info imports chunks) state1 =
129127 state2 =
130128 state1 { _seenKernels = Set.insert name (_seenKernels state1) }
131129
132− (State builders seenDecls seenKernels effects table) =
130+ (State builders seenDecls seenKernels effects) =
133131 List.foldl' (crawl graph) state2 (map toCoreGlobal imports)
134132
135− (builder, newTable) =
136− JS.run table (foldM chunkToBuilder mempty chunks)
133+ builder =
134+ JS.run (foldM chunkToBuilder mempty chunks)
137135 in
138136 State
139137 { _builders = builder : builders
140138 , _seenDecls = seenDecls
141139 , _seenKernels = seenKernels
142140 , _effects = effects
143− , _table = newTable
144141 }
145142
146143