X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fdisambiguation%2FmultiPassDisambiguator.ml;h=b1cf9aed0ec55f13e3317489b8e9f63e044d1ffe;hb=081c038388b2822d4755a110d444f13afad97165;hp=9415e3a744f2084b541cda0e69f0a3db2f898f01;hpb=62f476a05884d451bfb90d845ea2b1c0a1c77f96;p=helm.git diff --git a/helm/software/components/disambiguation/multiPassDisambiguator.ml b/helm/software/components/disambiguation/multiPassDisambiguator.ml index 9415e3a74..b1cf9aed0 100644 --- a/helm/software/components/disambiguation/multiPassDisambiguator.ml +++ b/helm/software/components/disambiguation/multiPassDisambiguator.ml @@ -27,9 +27,9 @@ open Printf -let debug = false;; +let debug = ref false;; let debug_print s = - if debug then prerr_endline (Lazy.force s);; + if !debug then prerr_endline (Lazy.force s) else ();; exception DisambiguationError of int * @@ -41,18 +41,23 @@ exception DisambiguationError of (* implement module's API *) let only_one_pass = ref false;; +let use_library = ref false;; let passes () = (* *) if !only_one_pass then [ (true, `Mono, false) ] + else if !use_library then + [ (true, `Library, false); + (* for demo to reduce the number of interpretations *) + (true, `Library, true); + ] + else if !debug then + [ (true, `Multi, true); ] else [ (true, `Mono, false); (true, `Multi, false); (true, `Mono, true); (true, `Multi, true); - (true, `Library, false); - (* for demo to reduce the number of interpretations *) - (true, `Library, true); ] ;; @@ -124,7 +129,6 @@ let disambiguate_thing ~description_of_alias ~passes ~aliases ~universe ~f thing in let rec aux i errors passes = debug_print (lazy ("Pass: " ^ string_of_int i)); - prerr_endline (("Pass: " ^ string_of_int i)); match passes with [ pass ] -> (try @@ -139,19 +143,22 @@ let disambiguate_thing ~description_of_alias ~passes ~aliases ~universe ~f thing | [] -> assert false in aux 1 [] passes +;; let disambiguate_thing ~passes ~freshen_thing ~context ~metasenv ~subst - ~string_context_of_context ~initial_ugraph ~hint ~mk_implicit - ~description_of_alias ~aliases ~universe ~lookup_in_library ~uri ~pp_thing - ~domain_of_thing ~interpretate_thing ~refine_thing ~mk_localization_tbl thing + ~string_context_of_context ~initial_ugraph ~expty ~mk_implicit + ~description_of_alias ~fix_instance ~aliases ~universe ~lookup_in_library + ~uri ~pp_thing ~domain_of_thing ~interpretate_thing ~refine_thing + ~mk_localization_tbl thing = let f ~fresh_instances ~aliases ~universe ~use_coercions (txt,len,thing) = let thing = if fresh_instances then freshen_thing thing else thing in Disambiguate.disambiguate_thing ~context ~metasenv ~subst ~use_coercions ~string_context_of_context - ~initial_ugraph ~hint ~mk_implicit ~description_of_alias + ~initial_ugraph ~expty ~mk_implicit ~description_of_alias ~fix_instance ~aliases ~universe ~lookup_in_library ~uri ~pp_thing ~domain_of_thing ~interpretate_thing ~refine_thing ~mk_localization_tbl (txt,len,thing) in - disambiguate_thing ~description_of_alias ~passes ~aliases ~universe ~f thing + disambiguate_thing ~description_of_alias ~passes ~aliases + ~universe ~f thing