src/Pure/context.ML
changeset 29368 503ce3f8f092
parent 29367 741373421318
child 30628 4078276bcace
equal deleted inserted replaced
29367:741373421318 29368:503ce3f8f092
   133 val copy_data = Datatab.map' invoke_copy;
   133 val copy_data = Datatab.map' invoke_copy;
   134 val extend_data = Datatab.map' invoke_extend;
   134 val extend_data = Datatab.map' invoke_extend;
   135 
   135 
   136 fun merge_data pp (data1, data2) =
   136 fun merge_data pp (data1, data2) =
   137   Datatab.keys (Datatab.merge (K true) (data1, data2))
   137   Datatab.keys (Datatab.merge (K true) (data1, data2))
   138   |> ParList.map (fn k =>
   138   |> Par_List.map (fn k =>
   139     (case (Datatab.lookup data1 k, Datatab.lookup data2 k) of
   139     (case (Datatab.lookup data1 k, Datatab.lookup data2 k) of
   140       (SOME x, NONE) => (k, invoke_extend k x)
   140       (SOME x, NONE) => (k, invoke_extend k x)
   141     | (NONE, SOME y) => (k, invoke_extend k y)
   141     | (NONE, SOME y) => (k, invoke_extend k y)
   142     | (SOME x, SOME y) => (k, invoke_merge pp k (invoke_extend k x, invoke_extend k y))))
   142     | (SOME x, SOME y) => (k, invoke_merge pp k (invoke_extend k x, invoke_extend k y))))
   143   |> Datatab.make;
   143   |> Datatab.make;