src/Tools/Code/code_scala.ML
changeset 52519 598addf65209
parent 52435 6646bb548c6b
child 52520 4a884366b0d8
equal deleted inserted replaced
52518:c9a9359e0285 52519:598addf65209
   258       | print_stmt (name, Code_Thingol.Classinst
   258       | print_stmt (name, Code_Thingol.Classinst
   259           { class, tyco, vs, inst_params, superinst_params, ... }) =
   259           { class, tyco, vs, inst_params, superinst_params, ... }) =
   260           let
   260           let
   261             val tyvars = intro_tyvars vs reserved;
   261             val tyvars = intro_tyvars vs reserved;
   262             val classtyp = (class, tyco `%% map (ITyVar o fst) vs);
   262             val classtyp = (class, tyco `%% map (ITyVar o fst) vs);
   263             fun print_classparam_instance ((classparam, const as { dom, ... }), (thm, _)) =
   263             fun print_classparam_instance ((classparam, (const as { dom, ... }, _)), (thm, _)) =
   264               let
   264               let
   265                 val aux_dom = Name.invent_names (snd reserved) "a" dom;
   265                 val aux_dom = Name.invent_names (snd reserved) "a" dom;
   266                 val auxs = map fst aux_dom;
   266                 val auxs = map fst aux_dom;
   267                 val vars = intro_vars auxs reserved;
   267                 val vars = intro_vars auxs reserved;
   268                 val aux_abstr = if null auxs then [] else [enum "," "(" ")"
   268                 val aux_abstr = if null auxs then [] else [enum "," "(" ")"