]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/mathql_interpreter/mQILib.mli
patched and new Gen constructor added
[helm.git] / helm / ocaml / mathql_interpreter / mQILib.mli
index e37fa3b2da10435bf8fb4dd2f0208e790b571e48..f5e1874577c0231d8ab6c3f2c30102fbeae7b9ca 100644 (file)
@@ -35,20 +35,27 @@ type eval_spec = {eval : MathQL.query -> MathQL.result;
                 }
 
 type text_out_spec = {out    : string -> unit;
-                      path   : MathQL.path -> unit;
-                     query  : MathQL.query -> unit;
-                     result : MathQL.result -> unit
+                      path   : (string -> unit) -> MathQL.path -> unit;
+                     query  : (string -> unit) -> string -> MathQL.query -> unit;
+                     result : (string -> unit) -> string -> MathQL.result -> unit
                     }
 
-val check_arity : MathQL.path -> int -> int -> unit
+type text_in_spec = {result_in : Lexing.lexbuf -> MathQL.result}
 
-val eval        : eval_spec -> text_out_spec -> 
+val fun_arity   : MathQL.path -> int -> int -> unit
+
+val fun_eval    : eval_spec -> text_out_spec -> text_in_spec -> 
                   MathQL.path -> MathQL.path list -> MathQL.query list -> 
-                 MathQL.result
+                 MathQL.result
 
-val txt_out     : text_out_spec ->
+val fun_txt_out : text_out_spec ->
                  MathQL.path -> MathQL.path list -> MathQL.query list -> unit
 
+val gen_arity   : MathQL.path -> int -> unit
+
+val gen_eval    : eval_spec ->
+                  MathQL.path -> MathQL.query list -> MathQL.query
+
 exception ArityError of MathQL.path * arity_t * int
 
 exception NameError of MathQL.path