From: Claudio Sacerdoti Coen Date: Fri, 1 Jun 2007 13:20:21 +0000 (+0000) Subject: I do not know why, but X-Git-Tag: 0.4.95@7852~413 X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=commitdiff_plain;h=ce5018fb3004d79fd16301dfc0fd9370d59ba4fc;p=helm.git I do not know why, but (Helm_registry.get_list Helm_registry.string "matita.includes") is extremely slow! Removing it from the inner loop really improves performances! --- diff --git a/matita/matitaWiki.ml b/matita/matitaWiki.ml index b8eb18b46..c7c5e8838 100644 --- a/matita/matitaWiki.ml +++ b/matita/matitaWiki.ml @@ -124,6 +124,10 @@ let outer_syntax_parser () = with Failure _ -> assert false ;; + +let include_paths = + lazy (Helm_registry.get_list Helm_registry.string "matita.includes") +;; let rec interactive_loop () = (* every loop is terminated by a terminator both on stdout and stderr *) @@ -166,13 +170,10 @@ let rec interactive_loop () = (List.find (fun (j,_,_) -> j=i) metasenv) ) open_goals)) | _ -> () - in - let include_paths = - Helm_registry.get_list Helm_registry.string "matita.includes" in run_script str (MatitaEngine.eval_from_stream ~first_statement_only:true ~prompt:false - ~include_paths ~watch_statuses) ; + ~include_paths:(Lazy.force include_paths) ~watch_statuses) ; interactive_loop (Some (List.length !lexicon_status)) with | GrafiteEngine.Macro (floc,_) ->