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.2 required=5.0 tests=AWL,HTML_MESSAGE,SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from discorde.inria.fr (discorde.inria.fr [192.93.2.38]) by yquem.inria.fr (Postfix) with ESMTP id 342BFBC69 for ; Thu, 22 Feb 2007 20:45:26 +0100 (CET) Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.187]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id l1MJjPxv010904 for ; Thu, 22 Feb 2007 20:45:25 +0100 Received: by nf-out-0910.google.com with SMTP id a27so651814nfc for ; Thu, 22 Feb 2007 11:45:25 -0800 (PST) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=qo1OZVGgBOqAi3sjijlxmrfLrHTdVXC7OUomHbHF0h8QFtmZNBDew58s72T33Zp0CWeQ5yFmnZjIQFbDyzvEUBhLVs70oAxniTqJawnbkgB0nbte8xziXL6s6iLgQ53kLEscGzRN0/Km8XBmoE5iBqUb3ASmmg4IZcCGM9fcf+E= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=Go1CdQRK1Zf02TyoCDr3jhf0QdQ/yzty9DxbDwzb7E273FPNBDmjtf8G/9cNOWIcdejaSwjYNGD3P0bCP46G+5jGQEQ/+etdfSAPbwmvvVeQ0rg8ifQnwNIGHi62d5iYN325OGLa+INEQStBUc52mNiRuJsW9qo7pPmnNIYSaKs= Received: by 10.82.175.2 with SMTP id x2mr260825bue.1172173525324; Thu, 22 Feb 2007 11:45:25 -0800 (PST) Received: by 10.82.100.16 with HTTP; Thu, 22 Feb 2007 11:45:25 -0800 (PST) Message-ID: Date: Thu, 22 Feb 2007 20:45:25 +0100 From: Tom To: "David Teller" Subject: Re: [Caml-list] Feature request : Tuples vs. records Cc: caml-list@yquem.inria.fr In-Reply-To: <45DDA0BF.2000807@ens-lyon.org> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_37854_9597300.1172173525265" References: <45DD6F8C.7080508@ens-lyon.org> <45DD73A8.3040703@fmf.uni-lj.si> <1172148077.5345.18.camel@rosella.wigram> <45DDA0BF.2000807@ens-lyon.org> X-j-chkmail-Score: MSGID : 45DDF2D5.000 on discorde : j-chkmail score : X : 0/20 1 0.000 -> 1 X-Miltered: at discorde with ID 45DDF2D5.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; ens-lyon:01 ocaml's:01 ens-lyon:01 ocaml's:01 wrote:01 wrote:01 abstract:01 abstract:01 typing:01 typing:01 caml-list:01 tuples:01 surprising:01 surprising:01 modules:02 X-Attachments: cset="UTF-8" cset="UTF-8" ------=_Part_37854_9597300.1172173525265 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline On 22/02/07, David Teller wrote: > > > Now, unless I'm mistaken, OCaml's design is mostly towards structural > typing. Usually, when one wants nominal typing, one resorts to abstract > types safely hidden in modules. From this point of view, nominal typing > of records is therefore somewhat surprising. > > In general, there is a problem with structural (sub)typing... Although it seems better and in all ways superior to nominal (sub)typing from the theoretical point of view, practically, it is... slow. (At least when compared to nominal (sub)typing). - Tom ------=_Part_37854_9597300.1172173525265 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline

On 22/02/07, David Teller <David.Teller@ens-lyon.org> wrote:

Now, unless I'm mistaken, OCaml's design is mostly towards structural
typing. Usually, when one wants nominal typing, one resorts to abstract
types safely hidden in modules. From this point of view, nominal typing
of records is therefore somewhat surprising.


In general, there is a problem with structural (sub)typing... Although it seems better and in all ways superior to nominal (sub)typing from the theoretical point of view, practically, it is... slow. (At least when compared to nominal (sub)typing).

- Tom
------=_Part_37854_9597300.1172173525265--