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=AWL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 0D45ABC69 for ; Fri, 23 Feb 2007 00:26:46 +0100 (CET) Received: from ipmail01.adl2.internode.on.net (ipmail01.adl2.internode.on.net [203.16.214.140]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id l1MNQhjT016519 for ; Fri, 23 Feb 2007 00:26:45 +0100 Received: from ppp41-119.lns2.syd6.internode.on.net (HELO rosella) ([59.167.41.119]) by ipmail01.adl2.internode.on.net with ESMTP; 23 Feb 2007 09:56:39 +1030 X-IronPort-AV: i="4.14,207,1170595800"; d="scan'208"; a="92181831:sNHT22145011" Subject: Re: [Caml-list] Feature request : Tuples vs. records From: skaller To: Tom Cc: David Teller , caml-list@yquem.inria.fr In-Reply-To: References: <45DD6F8C.7080508@ens-lyon.org> <45DD73A8.3040703@fmf.uni-lj.si> <1172148077.5345.18.camel@rosella.wigram> <45DDA0BF.2000807@ens-lyon.org> Content-Type: text/plain Date: Fri, 23 Feb 2007 10:26:35 +1100 Message-Id: <1172186795.9935.57.camel@rosella.wigram> Mime-Version: 1.0 X-Mailer: Evolution 2.6.1 Content-Transfer-Encoding: 7bit X-Miltered: at concorde with ID 45DE26B3.001 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; 0100,:01 uploading:01 klingon:01 sourceforge:01 wrote:01 typing:01 typing:01 caml-list:01 compiles:01 tuples:01 theoretical:03 seems:03 dispatch:03 structural:04 thu:05 On Thu, 2007-02-22 at 20:45 +0100, Tom wrote: > 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). It isn't slow if you actually use the power: your program compiles and runs with amortised O(1) dispatch. The equivalent C++ program can be written, and requires a base for each method, and a base for every possible combination of methods .. and whilst you're uploading the sources for these combinations to the Klingon computer network fortunately the universe suffers heat death. [This is a good thing because there's no way you were going to be able to pay Enterprise ISP P/L the network traffic charges] -- John Skaller Felix, successor to C++: http://felix.sf.net