From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 1933ABBA7 for ; Thu, 12 Jan 2006 13:55:54 +0100 (CET) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id k0CCtrjl001532 for ; Thu, 12 Jan 2006 13:55:53 +0100 Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id NAA15972 for ; Thu, 12 Jan 2006 13:55:53 +0100 (MET) Received: from [128.93.8.130] (macadam.inria.fr [128.93.8.130]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id k0CCtq8Z011768 for ; Thu, 12 Jan 2006 13:55:53 +0100 Mime-Version: 1.0 (Apple Message framework v746.2) In-Reply-To: <17350.10156.454589.275252@gargle.gargle.HOWL> References: <43C61F1F.4030101@barettadeit.com> <17350.10156.454589.275252@gargle.gargle.HOWL> Content-Type: text/plain; charset=US-ASCII; format=flowed Message-Id: <9A1DDF7A-B006-4DE7-B44D-7866F3D5D525@inria.fr> Content-Transfer-Encoding: 7bit From: Damien Doligez Subject: Re: [Caml-list] Request for comments: Printf list conversion Date: Thu, 12 Jan 2006 13:55:56 +0100 To: Ocaml X-Mailer: Apple Mail (2.746.2) X-Miltered: at concorde with ID 43C651D9.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at nez-perce with ID 43C651D9.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; damien:01 damien:01 caml-list:01 printf:01 filliatre:01 val:01 separators:01 val:01 separators:01 wrote:01 doligez:01 doligez:01 newline:02 comma:02 string:02 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.3 On Jan 12, 2006, at 10:55, Jean-Christophe Filliatre wrote: > val print_list : > ?sep:(formatter -> unit -> unit) -> > (formatter -> 'a -> unit) -> formatter -> 'a list -> unit > > which comes with a handy list of predefined separators: > > val space : formatter -> unit -> unit > val newline : formatter -> unit -> unit > val comma : formatter -> unit -> unit > val semi : formatter -> unit -> unit > val nothing : formatter -> unit -> unit Yuck. Isn't this type (formatter -> unit -> unit) isomorphic to string, in the absence of side-effects? Or do you really need separators that behave differently depending on the state of some reference? -- Damien