]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/grafite/grafiteAst.ml
Procedural: explicit flavour specification for constants is now working
[helm.git] / helm / software / components / grafite / grafiteAst.ml
index fc9ea8c5d8964c3ad5b0c647eaf234b59c1b2ecd..180d687c9282d314814e579e1a1ad6b14d18461b 100644 (file)
@@ -63,10 +63,12 @@ type ('term, 'lazy_term, 'reduction, 'ident) tactic =
   (* Real tactics *)
   | Absurd of loc * 'term
   | Apply of loc * 'term
+  | ApplyP of loc * 'term (* apply for procedural reconstruction *)
   | ApplyS of loc * 'term * 'term auto_params
   | Assumption of loc
   | AutoBatch of loc * 'term auto_params
-  | Cases of loc * 'term * 'ident intros_spec
+  | Cases of loc * 'term * ('term, 'lazy_term, 'ident) pattern *
+             'ident intros_spec
   | Change of loc * ('term, 'lazy_term, 'ident) pattern * 'lazy_term
   | Clear of loc * 'ident list
   | ClearBody of loc * 'ident
@@ -141,16 +143,16 @@ type 'term macro =
   | Check of loc * 'term 
   | Hint of loc * bool
   | AutoInteractive of loc * 'term auto_params
-  | Inline of loc * presentation_style * string * string 
-     (* URI or base-uri, name prefix *) 
+  | Inline of loc * presentation_style * string * string * Cic.object_flavour option
+     (* URI or base-uri, name prefix, flavour *) 
 
 (** To be increased each time the command type below changes, used for "safe"
  * marshalling *)
-let magic = 12
+let magic = 13
 
 type ('term,'obj) command =
   | Index of loc * 'term option (* key *) * UriManager.uri (* value *)
-  | Coercion of loc * UriManager.uri * bool (* add_obj *) *
+  | Coercion of loc * 'term * bool (* add_obj *) *
      int (* arity *) * int (* saturations *)
   | Default of loc * string * UriManager.uri list
   | Drop of loc