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.0 required=5.0 tests=AWL,DNS_FROM_RFC_ABUSE, DNS_FROM_RFC_WHOIS 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 8E52CBC69 for ; Thu, 18 Oct 2007 18:30:46 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAIInF0fOvjGroWdsb2JhbACOTQIBAQIFBAYJCAEXgSc X-IronPort-AV: E=Sophos;i="4.21,296,1188770400"; d="scan'208";a="3217195" Received: from web54601.mail.re2.yahoo.com ([206.190.49.171]) by mail1-smtp-roc.national.inria.fr with SMTP; 18 Oct 2007 18:30:45 +0200 Received: (qmail 5190 invoked by uid 60001); 18 Oct 2007 16:30:45 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:Date:From:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID; b=SQUKxSfmgOcJcZ4T8iZRqyH8rRWY3/q0yWOUDKk1KqOcrRmBxH40vY+HPDB2uEgwMWI/eBCdvwOBnyVBGYLU2egxh6MRPzsrQFlYELjiqMtmNn2eyyZVPlh8qzlhVDZ/kHX4hiSdE0cKN45pOhRmMuWWuUKIMRVHy3fGiM0F+Yk=; X-YMail-OSG: E5_9A1AVM1nnk2P7xvRxxW3xKWuDNz7FPXtmGQDSsYj_9gIME1FPwZltoDs2_g1rIRD7HtZ7oasEmtnLegVobtsnZp7cc3Opn8C4wRzEGKFvYo3BA2o- Received: from [82.155.125.49] by web54601.mail.re2.yahoo.com via HTTP; Thu, 18 Oct 2007 17:30:44 BST Date: Thu, 18 Oct 2007 17:30:44 +0100 (BST) From: Dario Teixeira Subject: Re: [Caml-list] Smells like duck-typing To: skaller , Brian Hurt Cc: caml-list@yquem.inria.fr In-Reply-To: <1192724551.5999.37.camel@rosella.wigram> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Message-ID: <961666.5110.qm@web54601.mail.re2.yahoo.com> X-Spam: no; 0.00; subset:01 subset:01 cheers:01 marble:98 carbon:98 caml-list:01 precisely:01 implemented:02 generally:04 expose:04 wheel:94 projections:94 projections:94 meant:06 examples:07 > No it isn't, its just mis-stated. What he actually wants is projections, > which are perfectly sound. That is, given a concrete record with N > fields, a collection of *views* which only expose a subset of the > fields. > > More generally, not just a subset of fields, but a new record > which is the image of a epimorphism (a structure preserving > surjection or 'onto' mapping). Hi, I wasn't familiar with the "projections" terminology, but that is precisely what I meant, and what I've referred to as "marble carving"! (The wheel keeps getting reinvented...) Incidentally, are projections implemented by any language out there? (I realise that to a certain extent, SQL views are also projections. But what about other examples?) Cheers, Dario ___________________________________________________________ Want ideas for reducing your carbon footprint? Visit Yahoo! For Good http://uk.promotions.yahoo.com/forgood/environment.html