(* First order tactics *)
| Absurd (_, term) -> "absurd" ^ term_pp term
| Apply (_, term) -> "apply " ^ term_pp term
+ | ApplyRule (_, term) -> "apply rule " ^ term_pp term
| ApplyP (_, term) -> "applyP " ^ term_pp term
| ApplyS (_, term, params) ->
"applyS " ^ term_pp term ^ pp_auto_params ~term_pp params
else
"(" ^ s ^ ")"
-let pp_macro ~term_pp =
+let pp_macro ~term_pp ~lazy_term_pp =
let term_pp = pp_arg ~term_pp in
let style_pp = function
| Declarative -> ""
in
let flavour_pp = function
| None -> ""
- | Some `Definition -> "as definition"
- | Some `MutualDefinition -> "as mutual"
- | Some `Fact -> "as fact"
- | Some `Lemma -> "as lemma"
- | Some `Remark -> "as remark"
- | Some `Theorem -> "as theorem"
- | Some `Variant -> "as variant"
- | Some `Axiom -> "as axiom"
+ | Some `Definition -> " as definition"
+ | Some `MutualDefinition -> " as mutual"
+ | Some `Fact -> " as fact"
+ | Some `Lemma -> " as lemma"
+ | Some `Remark -> " as remark"
+ | Some `Theorem -> " as theorem"
+ | Some `Variant -> " as variant"
+ | Some `Axiom -> " as axiom"
in
+ let pp_reduction_kind = pp_reduction_kind ~term_pp:lazy_term_pp in
function
(* Whelp *)
| WInstance (_, term) -> "whelp instance " ^ term_pp term
| WElim (_, t) -> "whelp elim " ^ term_pp t
| WMatch (_, term) -> "whelp match " ^ term_pp term
(* real macros *)
+ | Eval (_, kind, term) ->
+ Printf.sprintf "eval %s on %s" (pp_reduction_kind kind) (term_pp term)
| Check (_, term) -> Printf.sprintf "check %s" (term_pp term)
| Hint (_, true) -> "hint rewrite"
| Hint (_, false) -> "hint"
| Index (_,_,uri) -> "Indexing " ^ UriManager.string_of_uri uri
| Coercion (_, t, do_composites, i, j) ->
pp_coercion ~term_pp t do_composites i j
+ | UnificationHint (_,t) ->
+ "unification hint " ^ term_pp t
| Default (_,what,uris) -> pp_default what uris
| Drop _ -> "drop"
| Include (_,path) -> "include \"" ^ path ^ "\""
let pp_executable ~map_unicode_to_tex ~term_pp ~lazy_term_pp ~obj_pp =
function
- | Macro (_, macro) -> pp_macro ~term_pp macro ^ "."
+ | Macro (_, macro) -> pp_macro ~term_pp ~lazy_term_pp macro ^ "."
| Tactic (_, Some tac, punct) ->
pp_tactic ~map_unicode_to_tex ~lazy_term_pp ~term_pp tac
^ pp_punctuation_tactical ~lazy_term_pp ~term_pp punct