equal
deleted
inserted
replaced
129 |> fold (fn (_, e) => CodegenThingol.add_constnames e) eqns |
129 |> fold (fn (_, e) => CodegenThingol.add_constnames e) eqns |
130 |> remove (op =) nm; |
130 |> remove (op =) nm; |
131 val globals = map lookup (filter defined funs); |
131 val globals = map lookup (filter defined funs); |
132 val default_eqn = ([params], S.app Eval_Constr (S.tup[S.quote nm,params])); |
132 val default_eqn = ([params], S.app Eval_Constr (S.tup[S.quote nm,params])); |
133 val code = S.eqns (MLname nm) |
133 val code = S.eqns (MLname nm) |
134 (Library.flat(map (mk_eqn defined nm ar) eqns) |
134 (maps (mk_eqn defined nm ar) eqns @ [default_eqn]) |
135 @ [default_eqn]) |
|
136 val register = tab_update |
135 val register = tab_update |
137 (S.app Eval_mk_Fun (S.tup[S.quote nm, MLname nm, string_of_int ar])) |
136 (S.app Eval_mk_Fun (S.tup[S.quote nm, MLname nm, string_of_int ar])) |
138 in |
137 in |
139 S.Let (globals @ [code]) register |
138 S.Let (globals @ [code]) register |
140 end |
139 end |