src/Pure/context.ML
changeset 59058 a78612c67ec0
parent 55547 384bfd19ee61
child 59146 ba2a326fc271
equal deleted inserted replaced
59057:5b649fb2f2e1 59058:a78612c67ec0
   143     val kind = {pos = pos, empty = empty, extend = extend, merge = merge};
   143     val kind = {pos = pos, empty = empty, extend = extend, merge = merge};
   144     val _ = Synchronized.change kinds (Datatab.update (k, kind));
   144     val _ = Synchronized.change kinds (Datatab.update (k, kind));
   145   in k end;
   145   in k end;
   146 
   146 
   147 val extend_data = Datatab.map invoke_extend;
   147 val extend_data = Datatab.map invoke_extend;
   148 fun merge_data pp = Datatab.join (invoke_merge pp) o pairself extend_data;
   148 fun merge_data pp = Datatab.join (invoke_merge pp) o apply2 extend_data;
   149 
   149 
   150 end;
   150 end;
   151 
   151 
   152 
   152 
   153 
   153 
   236   |> insert_id id2;
   236   |> insert_id id2;
   237 
   237 
   238 
   238 
   239 (* equality and inclusion *)
   239 (* equality and inclusion *)
   240 
   240 
   241 val eq_thy = op = o pairself (#id o identity_of);
   241 val eq_thy = op = o apply2 (#id o identity_of);
   242 
   242 
   243 fun proper_subthy (Theory ({id, ...}, _, _, _), Theory ({ids, ...}, _, _, _)) =
   243 fun proper_subthy (Theory ({id, ...}, _, _, _), Theory ({ids, ...}, _, _, _)) =
   244   Inttab.defined ids id;
   244   Inttab.defined ids id;
   245 
   245 
   246 fun subthy thys = eq_thy thys orelse proper_subthy thys;
   246 fun subthy thys = eq_thy thys orelse proper_subthy thys;