]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_disambiguation/disambiguateChoices.ml
tex macros, checked in disambiguation section from whelp paper
[helm.git] / helm / ocaml / cic_disambiguation / disambiguateChoices.ml
index 9f3c554c6ec626ae5f4c2a7d3ea28c43940a6540..c660bb6b0a19895cd455ecdd08acf650097704b3 100644 (file)
@@ -27,8 +27,7 @@ open Printf
 
 open DisambiguateTypes
 
-exception Invalid_choice
-exception Choice_not_found of string
+exception Choice_not_found of string Lazy.t
 
 let num_choices = ref []
 
@@ -41,7 +40,7 @@ let lookup_num_choices () = !num_choices
 let lookup_num_by_dsc dsc =
   try
     List.find (has_description dsc) !num_choices
-  with Not_found -> raise (Choice_not_found ("Num with dsc " ^  dsc))
+  with Not_found -> raise (Choice_not_found (lazy ("Num with dsc " ^  dsc)))
 
 let mk_choice (dsc, args, appl_pattern) =
   dsc,
@@ -63,5 +62,5 @@ let lookup_symbol_by_dsc symbol dsc =
         (fun (dsc', _, _) -> dsc = dsc')
         (CicNotationRew.lookup_interpretations symbol))
   with CicNotationRew.Interpretation_not_found | Not_found ->
-    raise (Choice_not_found (sprintf "Symbol %s, dsc %s" symbol dsc))
+    raise (Choice_not_found (lazy (sprintf "Symbol %s, dsc %s" symbol dsc)))