src/Tools/Code/code_ml.ML
changeset 39102 4ae1d212100f
parent 39061 9b1fd2df743c
child 39142 f63715f00fdd
child 39147 3c284a152bd6
equal deleted inserted replaced
39071:928c5a5bdc93 39102:4ae1d212100f
   807     and print_nodes prefix_fragments nodes = (map_filter
   807     and print_nodes prefix_fragments nodes = (map_filter
   808         (fn name => print_node prefix_fragments (name, snd (Graph.get_node nodes name)))
   808         (fn name => print_node prefix_fragments (name, snd (Graph.get_node nodes name)))
   809         o rev o flat o Graph.strong_conn) nodes
   809         o rev o flat o Graph.strong_conn) nodes
   810       |> split_list
   810       |> split_list
   811       |> (fn (decls, body) => (flat decls, body))
   811       |> (fn (decls, body) => (flat decls, body))
   812     val names' = map (try (deresolver [])) names;
       
   813     val p = Pretty.chunks2 (map snd includes @ snd (print_nodes [] ml_program));
   812     val p = Pretty.chunks2 (map snd includes @ snd (print_nodes [] ml_program));
   814     fun write width NONE = writeln o format [] width
   813     fun write width NONE = writeln o format [] width
   815       | write width (SOME p) = File.write p o format [] width;
   814       | write width (SOME p) = File.write p o format [] width;
   816   in
   815   in
   817     Code_Target.serialization write (rpair names' ooo format) p
   816     Code_Target.serialization write (rpair (try (deresolver [])) ooo format) p
   818   end;
   817   end;
   819 
   818 
   820 val serializer_sml : Code_Target.serializer =
   819 val serializer_sml : Code_Target.serializer =
   821   Code_Target.parse_args (Scan.optional (Args.$$$ "no_signatures" >> K false) true
   820   Code_Target.parse_args (Scan.optional (Args.$$$ "no_signatures" >> K false) true
   822   >> (fn with_signatures => serialize_ml target_SML
   821   >> (fn with_signatures => serialize_ml target_SML