From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr 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 75D4FBBAF for ; Thu, 20 May 2010 13:40:47 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AtcBAKu89EtKfVI0mGdsb2JhbACdeggVAQEBAQEICQwHESKsKoIBhRwuiE4BAQMFhQ0E X-IronPort-AV: E=Sophos;i="4.53,271,1272837600"; d="scan'208";a="63150035" Received: from mail-ww0-f52.google.com ([74.125.82.52]) by mail4-smtp-sop.national.inria.fr with ESMTP; 20 May 2010 13:40:47 +0200 Received: by wwb22 with SMTP id 22so1403279wwb.39 for ; Thu, 20 May 2010 04:40:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=7OHO/Yk81eEKiCTmVbvB0f55itiM1gwYvrt6CjncOXQ=; b=apWmAD+4qxP+rNV1dkExSuQYU+3oexjzUB87Vaz62o9TQUNo0QNXZ8LIHlo6JS+zkf SzKyHAGiLWZoCnoXexYEhFFyvmx/EqsGP60Q+M9ULxwFTYGDWUTIpyZ1+eA85W9EWNBv xKgzE4QcyNvwOdNeVlnWsqmVbEHZoOV+AQ3uY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=Uowl9XVTAzxRiLtzE1Iu4BpDeaWkvLjRuNY1Rdc5O/qAwTP0td5kCq33sd1KAacvex khKxQhAbXnZhfEh7B4WthgXgOjpoYlkdHokKcG/lhO39ihNnvtFoJzGEHGBkQi31dGvR fM6N0wTq0DxwULTcFxwJwOXdGoh6LgOw0IgoI= MIME-Version: 1.0 Received: by 10.216.85.10 with SMTP id t10mr832689wee.12.1274355646740; Thu, 20 May 2010 04:40:46 -0700 (PDT) Received: by 10.216.181.65 with HTTP; Thu, 20 May 2010 04:40:46 -0700 (PDT) In-Reply-To: <4BF519E4.8040402@gmail.com> References: <4BF3E071.9040901@gmail.com> <4BF519E4.8040402@gmail.com> Date: Thu, 20 May 2010 13:40:46 +0200 Message-ID: Subject: Re: [Caml-list] OCaml defunctorization and other optimizations From: Julien Signoles To: =?ISO-8859-1?Q?T=F6r=F6k_Edwin?= Cc: caml-list@yquem.inria.fr Content-Type: multipart/alternative; boundary=0016e6dab544a4383a0487050bd4 X-Spam: no; 0.00; ocaml:01 signoles:01 signoles:01 ocaml:01 contrib:01 coq:01 contrib:01 coq:01 edwin:98 edwin:98 wrote:01 wrote:01 compilers:01 compilers:01 caml-list:01 --0016e6dab544a4383a0487050bd4 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hello, 2010/5/20 T=F6r=F6k Edwin > > On 05/20/2010 11:41 AM, Julien Signoles wrote: > I think that'll have to be someone else than me, as I consider myself > just a beginner in OCaml. > However if you think that implementing AST transforms would be possible > for a beginner (in OCaml, I do have experience with compilers), I'm > willing to give it a try. > I wrote ocamldefun during my master project where I done both the theory an= d the implementation of this tool: I was a beginner both in ocaml and in functional programming since I only wrote a mini-compiler in ocaml during m= y studies without any lecture on functional programming. But ok: there were ocaml experts in my research team which provide me some wonderful helps :-)= . > > I think that if there is a defunctorizer written it should live in the > OCaml distribution itself (maybe in contrib/). > Ocaml is not Coq: there is no such "contrib/" directory ;-). As far as I know, the Ocaml development team does not accept so much external contributions (for many good reasons). > I certainly don't intend to write an external tool that uses OCaml > internal modules. > That is what ocamldefun actually does. Best regards, Julien --0016e6dab544a4383a0487050bd4 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hello,


--0016e6dab544a4383a0487050bd4--