From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id 0E115BB84 for ; Sun, 13 Jul 2008 18:32:00 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AhkBAGfKeUhCbwQcmWdsb2JhbACSLQEBAQEBCAUGCREElEo X-IronPort-AV: E=Sophos;i="4.30,354,1212357600"; d="scan'208";a="15060823" Received: from concorde.inria.fr ([192.93.2.39]) by mail1-smtp-roc.national.inria.fr with ESMTP; 13 Jul 2008 18:31:59 +0200 Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id m6DGVxPD000478 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Sun, 13 Jul 2008 18:31:59 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AhkBAGfKeUhCbwQcmWdsb2JhbACSLQEBAQEBCAUGCREElEo X-IronPort-AV: E=Sophos;i="4.30,354,1212357600"; d="scan'208";a="15060821" Received: from out4.smtp.messagingengine.com ([66.111.4.28]) by mail1-smtp-roc.national.inria.fr with ESMTP; 13 Jul 2008 18:31:59 +0200 Received: from compute2.internal (compute2.internal [10.202.2.42]) by out1.messagingengine.com (Postfix) with ESMTP id 1C8D91398B0 for ; Sun, 13 Jul 2008 12:31:57 -0400 (EDT) Received: from heartbeat1.messagingengine.com ([10.202.2.160]) by compute2.internal (MEProxy); Sun, 13 Jul 2008 12:31:57 -0400 X-Sasl-enc: cNAhZBCpbt6GYvJCi8RuruXAaPBrv2rf06v0NBDQvAuW 1215966716 Received: from [192.168.1.10] (ALyon-157-1-62-228.w81-251.abo.wanadoo.fr [81.251.29.228]) by mail.messagingengine.com (Postfix) with ESMTPSA id 7A79F1558F for ; Sun, 13 Jul 2008 12:31:56 -0400 (EDT) Date: Sun, 13 Jul 2008 18:27:47 +0200 (CEST) From: Martin Jambon X-X-Sender: martin@martin.ec.wink.com To: caml-list@inria.fr Subject: Easy-format 1.0.0 (Re: [Caml-list] New library: Easy-format 0.9.0) In-Reply-To: Message-ID: References: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Miltered: at concorde with ID 487A2DFF.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; ens-lyon:01 separators:01 nodes:01 nodes:01 ning:98 deprecated:01 exception:01 caml-list:01 computation:01 inherit:01 jambon:01 jambon:01 argument:02 breaks:02 output:02 I've just released a richer version of Easy-format. The main URL is still http://martin.jambon.free.fr/easy-format.html It now offers the following additional features: - Support for separators that stick to the next list item (e.g. "|") - More wrapping options - Added Custom kind of nodes for using Format directly or existing pretty-printers - Support for markup and escaping, allowing to produce colorized output (HTML, terminal, ...) without interfering with the computation of line breaks and spacing. Easy-format now takes advantage of most features of the Format module, with the notable exception of tabulation boxes. I'd be curious so see any interesting use of tabulation boxes. This release has slight incompatibilities with version 0.9.0 which was released earlier this week, simply because more options were added: - Deprecated use of Easy_format.Param. Instead, inherit from Easy_format.list, Easy_format.label or Easy_format.atom. - Atom nodes have now one additional argument for parameters. - All record types have been extended with more fields. Using the "with" mechanism for inheritance is the best way of limiting future incompatibilities. Martin -- http://mjambon.com/ http://wink.com/profile/mjambon http://ocamlhackers.ning.com/profile/MartinJambon