Format.Args(3) OCaml library Format.Args(3)

Format.Args - The Args module defines a heterogeneous list type, which can be used as the argument of printf-like functions.

Module Format.Args

Module Args
: sig end

The Args module defines a heterogeneous list type, which can be used as the argument of printf -like functions.

It is not required to open this module when using the functions that accept an Args.t . Thanks to type-based disambiguation, the type is inferred automatically, so the list syntax [x; y; z] can be used directly for heterogeneous lists.

An example:

    (* without opening Args *)
    Format.lprintf "%s %d %.02f@." [ "ocaml"; 42; 3.14 ]
    (* or with explicit construction *)
    let lst = let open Format.Args in "ocaml" :: [ 42; 3.14 ] @ [ 'c' ] in
    Format.lprintf "%s %d %.02f %c@." lst

Since 5.5

type ('a, 'r) t =
| [] : ('r0, 'r0) t
| (::) : 'a0 * ('b, 'r1) t -> ('a0 -> 'b, 'r1) t

val apply : 'a -> ('a, 'r) t -> 'r

val (@) : ('a, 'r1) t -> ('r1, 'r2) t -> ('a, 'r2) t

2026-06-22 OCamldoc