From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id CC84ABB9A for ; Tue, 8 Nov 2005 00:09:36 +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 jA7N9Zpc007235 for ; Tue, 8 Nov 2005 00:09:36 +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 AAA20795 for ; Tue, 8 Nov 2005 00:09:35 +0100 (MET) Received: from zproxy.gmail.com (zproxy.gmail.com [64.233.162.201]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id jA7N9YAn021302 for ; Tue, 8 Nov 2005 00:09:35 +0100 Received: by zproxy.gmail.com with SMTP id 4so439832nzn for ; Mon, 07 Nov 2005 15:09:34 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:mime-version:content-type:content-transfer-encoding:content-disposition; b=S7XJ2lcYDGUjIye+q/2O78ZFL8ynrznUUxPSMxUqmu4hYnPvoAVe/Xsc3/dTyQvBitfi/caRJvICTyLPRO2/DrjFgznh7gZBpfdGpy5J0XR7Qp4EDyZZZsPCzuDj1Yns5b9XU0Q4UuJtfDkxP2spXhlMb5+7JMBmzRPfxPqxcKU= Received: by 10.65.240.7 with SMTP id s7mr5942286qbr; Mon, 07 Nov 2005 15:09:34 -0800 (PST) Received: by 10.65.239.7 with HTTP; Mon, 7 Nov 2005 15:09:34 -0800 (PST) Message-ID: Date: Mon, 7 Nov 2005 18:09:34 -0500 From: Markus Mottl To: ocaml Subject: ANN: Sexplib - library for S-expression conversions Cc: yaron jane MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-Miltered: at concorde with ID 436FDEB0.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at nez-perce with ID 436FDEAE.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; markus:01 mottl:01 markus:01 mottl:01 syntax:01 ocaml:01 ocaml-values:01 syntax:01 extensional:01 polymorphism:01 datatypes:01 parsing:01 debugging:01 ocaml:01 abstract:01 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.5 required=5.0 tests=INFO_TLD,RCVD_BY_IP autolearn=disabled version=3.0.3 Hi, we'd like to announce the availability of "Sexplib", which is a library for handling S-expressions. It features a syntax extension for OCaml using the Camlp4-preprocessor, which generates efficient code derived from type definitions to convert OCaml-values to S-expressions and vice versa. Errors during conversions are reported fairly exactly and readably. This syntax extension supports all extensional type constructions (tuples/products, sum types, record types, variant types) together with polymorphism. Other datatypes (objects; abstract ones) require user-defined converters, which can be added very easily. The parsing and pretty-printing functions for S-expressions together with the automatically generated converters make this library very useful for a variety of purposes, e.g. for representing datastructures in human-readable form, for debugging, etc. We are using it for handling fairly large and complex software configurations, and have found this representation and functionality extremely helpful in practice. The Sexplib-library itself was initially derived from Martin Sandin's Tywith-library, and is available free of charge under the LGPL-license. You can download it from the following site: http://www.janestcapital.com/ocaml We, the Quant-group at Jane St. Capital, are in the process of setting up this site to publish free software developed at our company. We hope you will find a lot more useful libraries there in the near future. Best regards, Markus Mottl for the Quant Group at Jane St. Capital -- Markus Mottl http://www.ocaml.info markus.mottl@gmail.com