src/Pure/Isar/class.ML
changeset 29006 abe0f11cfa4e
parent 28965 1de908189869
child 29029 1945e0185097
equal deleted inserted replaced
29005:ce378dcfddab 29006:abe0f11cfa4e
   543     val supparams = (map fst o Locale.parameters_of_expr thy) supexpr;
   543     val supparams = (map fst o Locale.parameters_of_expr thy) supexpr;
   544     val mergeexpr = Locale.Merge (suplocales);
   544     val mergeexpr = Locale.Merge (suplocales);
   545     val constrain = Element.Constrains ((map o apsnd o map_atyps)
   545     val constrain = Element.Constrains ((map o apsnd o map_atyps)
   546       (K (TFree (Name.aT, base_sort))) supparams);
   546       (K (TFree (Name.aT, base_sort))) supparams);
   547     fun fork_syn (Element.Fixes xs) =
   547     fun fork_syn (Element.Fixes xs) =
   548           fold_map (fn (c, ty, syn) => cons (Name.name_of c, syn) #> pair (c, ty, NoSyn)) xs
   548           fold_map (fn (c, ty, syn) => cons (Binding.base_name c, syn) #> pair (c, ty, NoSyn)) xs
   549           #>> Element.Fixes
   549           #>> Element.Fixes
   550       | fork_syn x = pair x;
   550       | fork_syn x = pair x;
   551     fun fork_syntax elems =
   551     fun fork_syntax elems =
   552       let
   552       let
   553         val (elems', global_syntax) = fold_map fork_syn elems [];
   553         val (elems', global_syntax) = fold_map fork_syn elems [];