Module CPrimitives
type t
=
val parse : string -> t
Can raise
Not_found
. Beware that this is not exactly the reverse ofto_string
below.
type const
=
|
Arraymaxlength
type arg_kind
=
|
Kparam
|
Kwhnf
|
Karg
type args_red
= arg_kind list
type 'a prim_type
=
|
PT_int63 : unit prim_type
|
PT_float64 : unit prim_type
|
PT_array : (UVars.Instance.t * ind_or_type) prim_type
and 'a prim_ind
=
|
PIT_bool : unit prim_ind
|
PIT_carry : ind_or_type prim_ind
|
PIT_pair : (ind_or_type * ind_or_type) prim_ind
|
PIT_cmp : unit prim_ind
|
PIT_f_cmp : unit prim_ind
|
PIT_f_class : unit prim_ind
and ind_or_type
=
|
PITT_ind : 'a prim_ind * 'a -> ind_or_type
|
PITT_type : 'a prim_type * 'a -> ind_or_type
|
PITT_param : int -> ind_or_type
val typ_univs : 'a prim_type -> UVars.AbstractContext.t
type prim_type_ex
=
|
PTE : 'a prim_type -> prim_type_ex
type prim_ind_ex
=
|
PIE : 'a prim_ind -> prim_ind_ex
val prim_type_of_string : string -> prim_type_ex
Can raise
Not_found
val prim_type_to_string : 'a prim_type -> string
type op_or_type
=
|
OT_op of t
|
OT_type : 'a prim_type -> op_or_type
|
OT_const of const
val op_or_type_univs : op_or_type -> UVars.AbstractContext.t
val prim_ind_to_string : 'a prim_ind -> string
val op_or_type_of_string : string -> op_or_type
Can raise
Not_found
val op_or_type_to_string : op_or_type -> string
val parse_op_or_type : ?loc:Loc.t -> string -> op_or_type
val univs : t -> UVars.AbstractContext.t
val types : t -> Constr.rel_context * ind_or_type list * ind_or_type
Parameters * Reduction relevant arguments * output type
XXX we could reify universes in ind_or_type (currently polymorphic types like array are assumed to use universe 0).