]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/matitaDisambiguator.ml
A bit of profiling functions added here and there.
[helm.git] / helm / matita / matitaDisambiguator.ml
index 5a7fe0b9f45ff925fcb0ca28947f3900597c49b0..4fe206f74618953b4ed9d5110cbd553ab77d2397 100644 (file)
@@ -120,6 +120,28 @@ let disambiguate_thing ~aliases ~universe
     CoercDb.use_coercions := saved_use_coercions;
     raise exn
 
+let disambiguate_thing =
+ let profiler = CicUtil.profile "disambiguate_thing" in
+  fun ~aliases ~universe
+      ~(f:?fresh_instances:bool ->
+          aliases:DisambiguateTypes.environment ->
+          universe:DisambiguateTypes.multiple_environment option ->
+          'a -> 'b)
+      ~(set_aliases: DisambiguateTypes.environment -> 'b -> 'b)
+      (thing: 'a)
+  -> profiler.CicUtil.profile
+      (disambiguate_thing ~aliases ~universe ~f ~set_aliases) thing
+
+let disambiguate_thing ~aliases ~universe
+  ~(f:?fresh_instances:bool ->
+      aliases:DisambiguateTypes.environment ->
+      universe:DisambiguateTypes.multiple_environment option ->
+      'a -> 'b)
+  ~(set_aliases: DisambiguateTypes.environment -> 'b -> 'b)
+  (thing: 'a)
+=
+  Obj.magic disambiguate_thing ~aliases ~universe ~f ~set_aliases thing
+
 let set_aliases aliases (choices, user_asked) =
   (List.map (fun (_, a, b, c) -> aliases, a, b, c) choices),
   user_asked
@@ -137,4 +159,3 @@ let disambiguate_obj ?fresh_instances ~dbd ~aliases ~universe ~uri obj =
   assert (fresh_instances = None);
   let f = Disambiguator.disambiguate_obj ~dbd ~uri in
   disambiguate_thing ~aliases ~universe ~f ~set_aliases obj
-