and expr =
| EGoal of loc * goal
| ECall of loc * id * expr list
+ | ETactic of loc * id * expr list
| EVar of loc * id
| EList of loc * expr list
| ESubsts of loc * substs
and print_pattern fp = function
| PTactic (loc, name, params) ->
- fprintf fp "%s (" name;
+ fprintf fp "*%s (" name;
iter_with_commas fp print_substs params;
fprintf fp ")"
| PVar (loc, id) -> print_id fp id
fprintf fp "%s (" name;
iter_with_commas fp print_expr params;
fprintf fp ")"
+ | ETactic (loc, name, params) ->
+ fprintf fp "*%s (" name;
+ iter_with_commas fp print_expr params;
+ fprintf fp ")"
| EVar (loc, var) -> print_id fp var
| EList (loc, xs) ->
fprintf fp "[";