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 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id 3ED12BB84 for ; Tue, 7 Oct 2008 18:31:35 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AhACACsr60iCcUBTiWdsb2JhbACTYwEBAQoHBBERqmWBag X-IronPort-AV: E=Sophos;i="4.33,373,1220220000"; d="scan'208";a="30006705" Received: from sigma957.cis.mcmaster.ca ([130.113.64.83]) by mail4-smtp-sop.national.inria.fr with ESMTP; 07 Oct 2008 18:31:34 +0200 Received: from Gorash7.UTS.McMaster.CA (Gorash7.UTS.McMaster.CA [130.113.196.61]) by sigma957.cis.mcmaster.ca (8.13.7/8.13.7) with ESMTP id m97GVAHm023096; Tue, 7 Oct 2008 12:31:30 -0400 (EDT) Received: from cgpsrv2.cis.mcmaster.ca (univmail.CIS.mcmaster.ca [130.113.64.46]) by Gorash7.UTS.McMaster.CA (8.13.7/8.13.7) with ESMTP id m97GV1d0029316; Tue, 7 Oct 2008 12:31:01 -0400 Received: from [130.113.68.27] (account carette@univmail.cis.mcmaster.ca [130.113.68.27] verified) by cgpsrv2.cis.mcmaster.ca (CommuniGate Pro SMTP 4.3.12) with ESMTPA id 227342072; Tue, 07 Oct 2008 12:31:01 -0400 Message-ID: <48EB8EC5.30304@mcmaster.ca> Date: Tue, 07 Oct 2008 12:31:01 -0400 From: Jacques Carette Organization: McMaster University User-Agent: Thunderbird 2.0.0.17 (Windows/20080914) MIME-Version: 1.0 To: Jon Harrop Cc: Nicolas Pouillard , caml-list@yquem.inria.fr Subject: Re: [Caml-list] Re: Metaprogramming features References: <884069.59268.qm@web54601.mail.re2.yahoo.com> <200810070117.13329.jon@ffconsultancy.com> <1223383737-sup-3904@ausone.local> <200810071636.43288.jon@ffconsultancy.com> In-Reply-To: <200810071636.43288.jon@ffconsultancy.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-PMX-Version-Mac: 5.4.2.338381, Antispam-Engine: 2.6.0.325393, Antispam-Data: 2008.10.7.160716 X-PerlMx-Spam: Gauge=IIIIIII, Probability=7%, Report='BODY_SIZE_1000_LESS 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_500_599 0, __BOUNCE_CHALLENGE_SUBJ 0, __CT 0, __CTE 0, __CT_TEXT_PLAIN 0, __HAS_MSGID 0, __MIME_TEXT_ONLY 0, __MIME_VERSION 0, __SANE_MSGID 0, __USER_AGENT 0' X-Spam: no; 0.00; metaocaml:01 ocaml:01 metaocaml:01 taha:01 sheard:01 first-order:01 wrote:01 caml-list:01 formulation:01 essentially:02 mcmaster:02 btw:03 jacques:03 jacques:03 generalize:04 Jon Harrop wrote: > So the translation from MetaOCaml to OCaml is not obvious at all. > > This begs the question: could another formulation of MetaOCaml avoid these > complications without losing expressiveness? > No. See some of the early papers of Taha and papers from Sheard around the same time. BTW, F#'s metaprogramming features are much much less powerful than metaocaml's. We tried to use them to generalize some previous work I (with some other colleagues) had done in metaocaml, but couldn't. Essentially, F#'s splices are first-order only. Jacques