Hi, I'am confused by the interpretation of "%a":
# Printf.printf "%a";; - : (out_channel -> '_a -> unit) -> '_a -> unit = <fun> # Printf.sprintf "%a";; - : (unit -> '_a -> string) -> '_a -> string = <fun> Usually, the typing of formatting functions is such that printf something has type unit if and only if sprintf something has type string. But %a breaks this rule. Wouldn't it be simpler to have two separate directives which accept respectively string printers and channel printers, regardless of the outer printing function ? Tiphaine _______________________________________________ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs