Library Ltac2.Message
Require Import Ltac2.Init.
Ltac2 @ external print : message -> unit := "ltac2" "print".
Ltac2 @ external of_string : string -> message := "ltac2" "message_of_string".
Ltac2 @ external to_string : message -> string := "ltac2" "message_to_string".
Ltac2 @ external of_int : int -> message := "ltac2" "message_of_int".
Ltac2 @ external of_ident : ident -> message := "ltac2" "message_of_ident".
Ltac2 @ external of_constr : constr -> message := "ltac2" "message_of_constr".
Panics if there is more than one goal under focus.
Ltac2 @ external of_exn : exn -> message := "ltac2" "message_of_exn".
Panics if there is more than one goal under focus.
Only for internal use.
Ltac2 @ external stop : unit -> ('a, 'b, 'c, 'a) format := "ltac2" "format_stop".
Ltac2 @ external string : ('a, 'b, 'c, 'd) format ->
(string -> 'a, 'b, 'c, 'd) format := "ltac2" "format_string".
Ltac2 @ external int : ('a, 'b, 'c, 'd) format ->
(int -> 'a, 'b, 'c, 'd) format := "ltac2" "format_int".
Ltac2 @ external constr : ('a, 'b, 'c, 'd) format ->
(constr -> 'a, 'b, 'c, 'd) format := "ltac2" "format_constr".
Ltac2 @ external ident : ('a, 'b, 'c, 'd) format ->
(ident -> 'a, 'b, 'c, 'd) format := "ltac2" "format_ident".
Ltac2 @ external literal : string -> ('a, 'b, 'c, 'd) format ->
('a, 'b, 'c, 'd) format := "ltac2" "format_literal".
Ltac2 @ external alpha : ('a, 'b, 'c, 'd) format ->
(('b -> 'r -> 'c) -> 'r -> 'a, 'b, 'c, 'd) format := "ltac2" "format_alpha".
Ltac2 @ external kfprintf : (message -> 'r) -> ('a, unit, message, 'r) format -> 'a :=
"ltac2" "format_kfprintf".
End Format.