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 mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by yquem.inria.fr (Postfix) with ESMTP id 6648CBC69 for ; Fri, 16 Nov 2007 01:31:28 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ao8CABp0PEfYi40Dd2dsb2JhbACPBQsEFxiBDw X-IronPort-AV: E=Sophos;i="4.21,422,1188770400"; d="scan'208";a="5872000" Received: from mail-out3.nyct.net (HELO bsd4.nyct.net) ([216.139.141.3]) by mail3-smtp-sop.national.inria.fr with ESMTP; 16 Nov 2007 01:31:27 +0100 Received: from [192.168.42.2] (adsl-216-139-154-52.nyct.net [216.139.154.52]) by bsd4.nyct.net (8.13.4/8.13.4) with ESMTP id lAG0VOBp080324; Thu, 15 Nov 2007 19:31:25 -0500 (EST) (envelope-from bhurt@spnz.org) Date: Thu, 15 Nov 2007 19:47:24 -0500 (EST) From: Brian Hurt X-X-Sender: bhurt@localhost To: Fernando Alegre Cc: caml-list Subject: Re: [Caml-list] Compiler feature - useful or not? In-Reply-To: <20071115202849.GB6523@gato.physics.und.nodak.edu> Message-ID: References: <891bd3390711131608g48b584a4n6b0ccab95d7de3f3@mail.gmail.com> <20071114075827.GA24058@yquem.inria.fr> <473AEC04.3030303@frisch.fr> <20071114143524.GA4423@yquem.inria.fr> <473B249D.9040703@frisch.fr> <20071114184352.GB28796@yquem.inria.fr> <473BE750.9060301@frisch.fr> <20071115132649.GB15754@yquem.inria.fr> <473C81F5.6080808@gmail.com> <20071115202849.GB6523@gato.physics.und.nodak.edu> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Spam: no; 0.00; compiler:01 functors:01 namespaces:01 ocaml's:01 inlining:01 inlined:01 functors:01 2007,:98 eliminates:98 wrote:01 abstract:01 caml-list:01 modules:02 modules:02 defined:02 On Thu, 15 Nov 2007, Fernando Alegre wrote: > > The main problem I have with abstract types is that they are heavyweight > since they need to be defined inside modules. In that particular, the > proposed private types are also heavyweight. I don't see modules as being that heavyweight. Absent functors, they're just namespaces. And Ocaml's cross-module inlining eliminates even most of that overhead- identity conversions are generally inlined and become no-ops. Even with functors, the overhead is small, approximately that of calling a virtual function in C++ or Java. Just my $0.02. Brian