aboutsummaryrefslogtreecommitdiffhomepage
path: root/interp/genarg.mli
diff options
context:
space:
mode:
Diffstat (limited to 'interp/genarg.mli')
-rw-r--r--interp/genarg.mli24
1 files changed, 14 insertions, 10 deletions
diff --git a/interp/genarg.mli b/interp/genarg.mli
index af02a9ebe..042520151 100644
--- a/interp/genarg.mli
+++ b/interp/genarg.mli
@@ -6,7 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
-(* $Id$ *)
+(*i $Id$ i*)
open Util
open Names
@@ -19,9 +19,9 @@ open Term
type 'a or_var = ArgArg of 'a | ArgVar of identifier located
type 'a and_short_name = 'a * identifier located option
-(* In globalize tactics, we need to keep the initial constr_expr to recompute*)
+(* In globalize tactics, we need to keep the initial [constr_expr] to recompute*)
(* in the environment by the effective calls to Intro, Inversion, etc *)
-(* The constr_expr field is None in TacDef though *)
+(* The [constr_expr] field is [None] in TacDef though *)
type rawconstr_and_expr = rawconstr * constr_expr option
type open_constr = Evd.evar_map * Term.constr
@@ -39,6 +39,7 @@ val pr_case_intro_pattern : case_intro_pattern_expr -> Pp.std_ppcmds
(* The route of a generic argument, from parsing to evaluation
+\begin{verbatim}
parsing in_raw out_raw
char stream ----> rawtype ----> rawconstr generic_argument ---->
|
@@ -46,16 +47,18 @@ val pr_case_intro_pattern : case_intro_pattern_expr -> Pp.std_ppcmds
V
type <---- constr generic_argument <----
out in
+\end{verbatim}
To distinguish between the uninterpreted (raw) and the interpreted
-worlds, we annotate the type generic_argument by a phantom argument
-which is either constr_expr or constr (actually we add also a second
-argument raw_tactic_expr and tactic, but this is only for technical
+worlds, we annotate the type [generic_argument] by a phantom argument
+which is either [constr_expr] or [constr] (actually we add also a second
+argument [raw_tactic_expr] and [tactic], but this is only for technical
reasons, because these types are undefined at the type of compilation
-of Genarg).
+of [Genarg]).
Transformation for each type :
-tag f raw open type cooked closed type
+\begin{verbatim}
+tag raw open type cooked closed type
BoolArgType bool bool
IntArgType int int
@@ -76,6 +79,7 @@ List0ArgType of argument_type
List1ArgType of argument_type
OptArgType of argument_type
ExtraArgType of string '_a '_b
+\end{verbatim}
*)
type ('a,'co,'ta) abstract_argument_type
@@ -175,7 +179,7 @@ val wit_pair :
('b,'co,'ta) abstract_argument_type ->
('a * 'b,'co,'ta) abstract_argument_type
-(* 'a generic_argument = (Sigma t:type. t[constr/'a]) *)
+(* ['a generic_argument] = (Sigma t:type. t[[constr/'a]]) *)
type ('a,'b) generic_argument
val fold_list0 :
@@ -255,7 +259,7 @@ val unquote : ('a,'co,'ta) abstract_argument_type -> argument_type
with f a = b if a is Constr, f a = c if a is Tactic, otherwise f a = |a|
- in_generic is not typable; we replace the second argument by an absurd
+ [in_generic] is not typable; we replace the second argument by an absurd
type (with no introduction rule)
*)
type an_arg_of_this_type