NativevaluesSourceThis modules defines the representation of values internally used by the native compiler. Be careful when removing apparently dead code from this interface, as it may be used by programs generated at runtime.
When -rectypes, matching on this makes t = ('a -> 'a) as 'a. When not -rectypes, it does nothing AFAICT so you have to generalize your problem to use this.
type annot_sw = {asw_ind : Names.inductive;asw_reloc : reloc_table;asw_finite : bool;asw_prefix : string;}type atom = | Arel of int| Aconstant of Constr.pconstant| Aind of Constr.pinductive| Asort of Sorts.t| Avar of Names.Id.t| Acase of annot_sw * accumulator * t * t| Afix of t array * t array * rec_pos * int| Acofix of t array * t array * int * vcofix| Aevar of Evar.t * t array| Aproj of Names.inductive * int * accumulatortype symbol = | SymbValue of t| SymbSort of Sorts.t| SymbName of Names.Name.t| SymbConst of Names.Constant.t| SymbMatch of annot_sw| SymbInd of Names.inductive| SymbEvar of Evar.t| SymbInstance of UVars.Instance.t| SymbProj of Names.inductive * inttype kind =
(t,
accumulator,
t ->
t,
Names.Name.t * t * t,
Util.Empty.t,
Util.Empty.t,
block)
Values.kindSupport for machine integers
Support for machine floating point values
Support for strings
Support for arrays