Ltac2_plugin.Tac2ffiSourcetype valexpr = | ValInt of intImmediate integers
*)| ValBlk of Tac2expr.tag * valexpr arrayStructured blocks
*)| ValStr of Stdlib.Bytes.tStrings
*)| ValCls of closureClosures
*)| ValOpn of Names.KerName.t * valexpr arrayOpen constructors
*)| ValExt : 'a Tac2dyn.Val.tag * 'a -> valexprArbitrary data
*)| ValUint63 of Uint63.tPrimitive integers
*)| ValFloat of Float64.tPrimitive floats
*)These functions allow to convert back and forth between OCaml and Ltac2 data representation. The to_* functions raise an anomaly whenever the data has not expected shape.
Toplevel representation of OCaml exceptions. Invariant: no LtacError should be put into a value with tag val_exn.
Closures
Given a closure, apply it to some arguments. Handling of argument mismatches is done automatically, i.e. in case of over or under-application.
Turn a fixed-arity function into a closure. The inner function is guaranteed to be applied to a list whose size is the integer argument.
Exception
Ltac2-defined exceptions seen from OCaml side