src/Pure/defs.ML
changeset 19025 596fb1eb7856
parent 17994 6a1a49cba5b3
child 19040 88d25a6c346a
equal deleted inserted replaced
19024:80eb6640f3d5 19025:596fb1eb7856
    74     Defs {consts = consts2, specified = specified2}) =
    74     Defs {consts = consts2, specified = specified2}) =
    75   let
    75   let
    76     val consts' = (consts1, consts2) |> Graph.merge_acyclic (K true)
    76     val consts' = (consts1, consts2) |> Graph.merge_acyclic (K true)
    77       handle Graph.CYCLES cycles => err_cyclic cycles;
    77       handle Graph.CYCLES cycles => err_cyclic cycles;
    78     val specified' = (specified1, specified2) |> Symtab.join (fn c => fn (orig_specs1, specs2) =>
    78     val specified' = (specified1, specified2) |> Symtab.join (fn c => fn (orig_specs1, specs2) =>
    79       SOME (Inttab.fold (fn spec2 => fn specs1 =>
    79       Inttab.fold (fn spec2 => fn specs1 =>
    80         (check_specified c spec2 orig_specs1; Inttab.update spec2 specs1)) specs2 orig_specs1));
    80         (check_specified c spec2 orig_specs1; Inttab.update spec2 specs1)) specs2 orig_specs1);
    81   in make_defs (consts', specified') end;
    81   in make_defs (consts', specified') end;
    82 
    82 
    83 end;
    83 end;