X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=helm%2Fmatita%2FmatitaDisambiguator.ml;h=4fe206f74618953b4ed9d5110cbd553ab77d2397;hb=27bd932eeab546b36d2750bd6f4d047ebf2964f6;hp=5a7fe0b9f45ff925fcb0ca28947f3900597c49b0;hpb=8ecc9fb74f80c2f5b3e3c70f0a625e63a48292fb;p=helm.git diff --git a/helm/matita/matitaDisambiguator.ml b/helm/matita/matitaDisambiguator.ml index 5a7fe0b9f..4fe206f74 100644 --- a/helm/matita/matitaDisambiguator.ml +++ b/helm/matita/matitaDisambiguator.ml @@ -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 -