]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matitaEngine.mli
tagging rc-1
[helm.git] / matita / matitaEngine.mli
index a3c54dea6a22537954f744fd4917965552528d6a..83b549ec4ee0b864177fb607ee6bbf452c5171a8 100644 (file)
@@ -28,9 +28,10 @@ val eval_ast :
   ?clean_baseuri:bool ->
   LexiconEngine.status ->
   GrafiteTypes.status ->
-  (CicNotationPt.term, CicNotationPt.term,
-   CicNotationPt.term GrafiteAst.reduction, CicNotationPt.obj, string)
-  GrafiteAst.statement ->
+  string * int *
+  ((CicNotationPt.term, CicNotationPt.term,
+   CicNotationPt.term GrafiteAst.reduction, CicNotationPt.term CicNotationPt.obj, string)
+   GrafiteAst.statement) ->
   ((GrafiteTypes.status * LexiconEngine.status) *
    (DisambiguateTypes.domain_item * DisambiguateTypes.codomain_item) option
   ) list
@@ -38,31 +39,27 @@ val eval_ast :
 
 (* heavy checks slow down the compilation process but give you some interesting
  * infos like if the theorem is a duplicate *)
-val eval_string :
-  first_statement_only:bool ->
-  include_paths:string list ->
-  ?do_heavy_checks:bool ->
-  ?clean_baseuri:bool ->
-  LexiconEngine.status ->
-  GrafiteTypes.status ->
-  string ->
-  ((GrafiteTypes.status * LexiconEngine.status) *
-   (DisambiguateTypes.domain_item * DisambiguateTypes.codomain_item) option
-  ) list
 
+(* should be used only by the compiler since it looses the
+   * disambiguation_context (text,prefix_len,_) *)
 val eval_from_stream :
   first_statement_only:bool ->
   include_paths:string list ->
   ?prompt:bool ->
   ?do_heavy_checks:bool ->
   ?clean_baseuri:bool ->
+  ?enforce_no_new_aliases:bool -> (* default true *)
+  ?watch_statuses:(LexiconEngine.status -> GrafiteTypes.status -> unit) ->
   LexiconEngine.status ->
   GrafiteTypes.status ->
   Ulexing.lexbuf ->
   (GrafiteTypes.status ->
    (CicNotationPt.term, CicNotationPt.term,
-    CicNotationPt.term GrafiteAst.reduction, CicNotationPt.obj, string)
+    CicNotationPt.term GrafiteAst.reduction, CicNotationPt.term CicNotationPt.obj, string)
    GrafiteAst.statement -> unit) ->
   ((GrafiteTypes.status * LexiconEngine.status) *
    (DisambiguateTypes.domain_item * DisambiguateTypes.codomain_item) option
   ) list
+
+(* this callback is called on every grafite command *)
+val set_callback: (GrafiteParser.ast_statement -> unit) -> unit