Ltac2_plugin.Tac2ffiSourceThese 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.
WARNING these functions copy
val of_pair :
('a -> Tac2val.valexpr) ->
('b -> Tac2val.valexpr) ->
('a * 'b) ->
Tac2val.valexprval to_pair :
(Tac2val.valexpr -> 'a) ->
(Tac2val.valexpr -> 'b) ->
Tac2val.valexpr ->
'a * 'bval of_triple :
('a -> Tac2val.valexpr) ->
('b -> Tac2val.valexpr) ->
('c -> Tac2val.valexpr) ->
('a * 'b * 'c) ->
Tac2val.valexprval to_triple :
(Tac2val.valexpr -> 'a) ->
(Tac2val.valexpr -> 'b) ->
(Tac2val.valexpr -> 'c) ->
Tac2val.valexpr ->
'a * 'b * 'cToplevel representation of OCaml exceptions. Invariant: no LtacError should be put into a value with tag val_exn.
Exception
Ltac2-defined exceptions seen from OCaml side