- (* goalname (params), tactic (params) etc. *)
- | ECall of id * expr list
- (* variable *)
- | EVar of id
- (* string with %-substitutions *)
- | EString of substs
- (* list *)
- | EList of expr list
+ (** goal (params) = patterns : exprs = code *)
+ | EGoal of loc * goal
+ (** goalname (params) etc. *)
+ | ECall of loc * id * expr list
+ (** *tactic (params) etc. *)
+ | ETactic of loc * id * expr list
+ (** variable, or goal call with no parameters *)
+ | EVar of loc * id
+ (** list *)
+ | EList of loc * expr list
+ (** string with %-substitutions *)
+ | ESubsts of loc * substs
+ (** constant expression, such as a plain string, int, boolean, etc. *)
+ | EConstant of loc * constant
+and constant =
+ | CString of string
+and goal = id list * pattern list * expr list * code option