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=2.6 required=5.0 tests=AWL,DNS_FROM_RFC_ABUSE, DNS_FROM_RFC_POST,DNS_FROM_RFC_WHOIS,DNS_FROM_SECURITYSAGE 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 4801ABBAF for ; Thu, 23 Oct 2008 21:27:08 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AtICAONsAEnAXQImgWdsb2JhbACTcAEBFiKmJohEBQIBg0s X-IronPort-AV: E=Sophos;i="4.33,472,1220220000"; d="scan'208";a="19102043" Received: from discorde.inria.fr ([192.93.2.38]) by mail1-smtp-roc.national.inria.fr with ESMTP; 23 Oct 2008 21:26:58 +0200 Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id m9NJQv2h006289 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Thu, 23 Oct 2008 21:26:57 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ap0AADFsAEnOvjGwlGdsb2JhbACTcAEBAQEJCwgJEQOmF4hEBQIBg0s X-IronPort-AV: E=Sophos;i="4.33,471,1220220000"; d="scan'208";a="16415966" Received: from web54606.mail.re2.yahoo.com ([206.190.49.176]) by mail2-smtp-roc.national.inria.fr with SMTP; 23 Oct 2008 21:26:57 +0200 Received: (qmail 93655 invoked by uid 60001); 23 Oct 2008 19:26:54 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID; b=cEGx6Q/rIlYoyXLoGAe7afNh/lCo2ly7tVM3yVBmYvSTZrci3AqoPRwzn4tAVGsOolfSKW2o+JDDF0JnkpyoLcc3sCtaMFABkCJlr57r3Lbws1/gbORisF0N4m83Pn0+lqxIFYL1XUSTITJRDF2f750I+xYsUp8PnjPFnQZJ4cc=; X-YMail-OSG: GaT8CccVM1n9c5NOHlluADy_46xu6iq1aoHf4Qa8gpqJ7sSq_el3I8KJK_PJbSIVKEGlR2KgWZ7MG936jyLZ79Vda1WzE8ef87LZGBEaUtRzUWFnW6naDbKf8UbAYN6h2rhMfsvdy64Tir.Kf8ogAKGA9r5wPvJncpetrSmi Received: from [213.205.70.208] by web54606.mail.re2.yahoo.com via HTTP; Thu, 23 Oct 2008 12:26:54 PDT X-Mailer: YahooMailWebService/0.7.247.3 Date: Thu, 23 Oct 2008 12:26:54 -0700 (PDT) From: Dario Teixeira Subject: Re: [Caml-list] Re: Serialisation of PXP DTDs To: caml-list@inria.fr, Stefano Zacchiroli In-Reply-To: <20081023163738.GA27707@usha.takhisis.invalid> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Message-ID: <561320.93277.qm@web54606.mail.re2.yahoo.com> X-Miltered: at discorde with ID 4900D001.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; pxp:01 dtds:01 foobar:01 constructors:01 foobar:01 cheers:01 encode:01 caml-list:01 constructor:01 pairs:01 supported:02 complex:05 types:05 types:05 simplify:05 > I mean, as long as types are as simples are pairs we will > probably write down the very same S-expression, but for more > complex types you hand up having to choose how to encode them > in S-expressions. Such design choices can need to be changed > in the future as more types will be supported. I fail to see > why the future-proofness of such choices > should be better than that of bin-prot. Hi, Well, there's several types of "future-proofness". If in the far-future I was faced with the task of reverse-engineering and deserialising a structure about whose contents I only had a rough idea, then a human-readable text-format like that of S-expressions = would simplify things enormously. On a more down-to-earth scenario, bear in mind that S-expressions offer forward-compatibility as long as you are only adding to a structure. For example, suppose I have a type foobar_t with two constructors: type foobar_t =3D One | Two If later on I add a third constructor "Three" to this type, the deserialiser for the new version can still read S-expressions written with the serialiser for the old version. Cheers, Dario Teixeira =0A=0A=0A