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=1.6 required=5.0 tests=AWL,DNS_FROM_RFC_ABUSE, DNS_FROM_RFC_POST autolearn=disabled version=3.1.3 Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id 76AC9BC37 for ; Fri, 29 May 2009 17:45:34 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsECAFOgH0pDww+dmGdsb2JhbACQSYEmhiUBAQEBAQgJDAcRqQSBE49YAQUDAYQIBQ X-IronPort-AV: E=Sophos;i="4.41,272,1241388000"; d="scan'208";a="27034188" Received: from web111505.mail.gq1.yahoo.com ([67.195.15.157]) by mail2-smtp-roc.national.inria.fr with SMTP; 29 May 2009 17:45:33 +0200 Received: (qmail 14901 invoked by uid 60001); 29 May 2009 15:45:32 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1243611932; bh=ZkE5O5US3g+7NYwrrodqTsKHJz4GYhW82XLLR9xQ7xc=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding; b=ct7AU8NFqHzS54YtU2vhgHcXv3Std6KPupsd+E6v48LSk6plArt7PVwUBawMwbt4YCyA1DVH/0mbCmfRVhV+gBgnFERf/z2x/6NJbudcTsV5f9pI1H96cnKkvYW1W7atag3eteyqj9mZ1Q2ey2v+X1Pw40IgUOsDXXr6AA9sQ0Y= DomainKey-Signature:a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding; b=n+Fub7ZCIbvFvu9zbLi525z4MnXY6+3srweFvJjl8ppsXfdxt71TeNPaV9LiZpYOqgY70LfF60xrJ2O4pnNrwf+5ok55H761gYx5rFswuZf3HUeM86WkoExf28uC5SY8UmkR1gGST/BNJHetoO4I8hFRtV6vJql9iulWxOHFD5c=; Message-ID: <407261.14507.qm@web111505.mail.gq1.yahoo.com> X-YMail-OSG: lyRHNdcVM1kkx5POBgCbrPwOImPyYgIFl5.F7a2bS76_HLoHhOCx0b90r.bbgberE4pYXyARdgLU9OZzk2bt1hhkICyIJdXHB9YDVbjyMd9lGE0RYad_hwCyHyKhufuhx6jgULaivLP51KNzrveTXKU3iUhjfdAld6wJBOWF4zDIQ2EPXTTWw2Vw4d90o6i.pzFO7ZKbuebX1duyCH1ph0lBI_6i2PcRQZ4LIb3ybpMz4F9e9v.vZUJPGHy3JZCmyBoimK2uqBtr_W9tv5apXXceTeXIgnLR6wvjtjct8TkgEsIaEMgPhaY- Received: from [213.205.71.63] by web111505.mail.gq1.yahoo.com via HTTP; Fri, 29 May 2009 08:45:32 PDT X-Mailer: YahooMailClassic/5.3.9 YahooMailWebService/0.7.289.10 Date: Fri, 29 May 2009 08:45:32 -0700 (PDT) From: Dario Teixeira Subject: Re: [Caml-list] Width subtyping To: Jacques Carette Cc: caml-list@yquem.inria.fr MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam: no; 0.00; subtyping:01 variants:01 o'caml:01 cheers:01 polymorphic:01 caml-list:01 width:97 tree:02 objects:02 inheritance:03 problem:05 labelled:05 labelled:05 classes:08 object:09 Hi,=0A=0A> The dual of sums is products.=A0 Open (labelled) sums=0A> are "p= olymorphic variants".=A0 Their duals are open=0A> (labelled) products are "= rows" (which O'Caml already=0A> supports, through its objects).=0A=0AYes, a= s I mentioned, for some classes of this particular problem the object=0Asys= tem can be put to good use -- when there is a clear tree for inheritance,= =0Afor example. Unfortunately that is always not the case; there are probl= ems=0Awhere you would end up with a tangled web of multiple inheritances ju= st for=0Athe sake of avoiding duplicating methods.=0A=0ACheers,=0ADario=0A= =0A=0A=0A