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=none autolearn=disabled version=3.1.3 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 452DDBB84 for ; Fri, 10 Oct 2008 05:25:42 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AjgGAHdn7kjAXQImiGdsb2JhbACBck2QXD4BAQEVIqMthxEBAg X-IronPort-AV: E=Sophos;i="4.33,386,1220220000"; d="scan'208";a="17898727" Received: from discorde.inria.fr ([192.93.2.38]) by mail3-smtp-sop.national.inria.fr with ESMTP; 10 Oct 2008 05:25:41 +0200 Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id m9A3PfqN025520 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Fri, 10 Oct 2008 05:25:41 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: An0CAG1o7khC+VyslGdsb2JhbACBck2QXD4BAQEBCQsKBw8FoyaHFAEC X-IronPort-AV: E=Sophos;i="4.33,386,1220220000"; d="scan'208";a="15889543" Received: from ug-out-1314.google.com ([66.249.92.172]) by mail2-smtp-roc.national.inria.fr with ESMTP; 10 Oct 2008 05:25:41 +0200 Received: by ug-out-1314.google.com with SMTP id 29so1030153ugc.28 for ; Thu, 09 Oct 2008 20:25:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:received:received:organization:to:subject:date :user-agent:references:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:message-id:from; bh=0xCxwnMQZcOcRbZgUa4obKkFrJn1qO+v+zCGCKO5Yc0=; b=jP9sOZnhX0J8U+F3CRoUW9xrP3iJpqFiAtpx6lcYjPnS8lhw7lX/g9AOi2UFBzJvDy jRbfJMkjyFpfVW+4nEUF1QlMYCzwHh0xRWeB1mvyVrI5cubsqbhyfJcSLt4pLplBwgkQ C10TiTXR/1m/h3KIARzt6agB9ht+8iEjUnseU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=organization:to:subject:date:user-agent:references:in-reply-to :mime-version:content-type:content-transfer-encoding :content-disposition:message-id:from; b=w8weQUswen8FIG8j2ZU8Ylnh7e479ofPsA3TZ610qNH+AgmkeDggaVcHOoNDg72SfA tvqLvh4PrDXM2lYNoUCogOuoa1PZim8JE+2FNCiNsn7Ir0ZaCuwX1NXzpW9EWv02sOT2 KwYAopd/9N5El60SDiMCLPU+Bfd2lU9kXpqzw= Received: by 10.210.105.19 with SMTP id d19mr1165864ebc.110.1223609140701; Thu, 09 Oct 2008 20:25:40 -0700 (PDT) Received: from leper.local (host86-139-250-145.range86-139.btcentralplus.com [86.139.250.145]) by mx.google.com with ESMTPS id i6sm2075261gve.2.2008.10.09.20.25.39 (version=TLSv1/SSLv3 cipher=RC4-MD5); Thu, 09 Oct 2008 20:25:40 -0700 (PDT) Organization: Flying Frog Consultancy Ltd. To: caml-list@inria.fr Subject: Re: [Caml-list] - Convert Caml to C/C++, C#, PHP, etc - Date: Fri, 10 Oct 2008 05:26:49 +0100 User-Agent: KMail/1.9.9 References: <19791755.post@talk.nabble.com> <200810091747.59342.kuba@mareimbrium.org> <20081010085741.c099a21b.mle+ocaml@mega-nerd.com> In-Reply-To: <20081010085741.c099a21b.mle+ocaml@mega-nerd.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200810100526.49635.jon@ffconsultancy.com> From: Jon Harrop X-Miltered: at discorde with ID 48EECB35.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; ocaml:01 ocaml:01 bytecode:01 compiler:01 bytecode:01 ocaml's:01 bytecodes:01 ocaml's:01 bytecodes:01 metaocaml:01 native-code:01 frog:98 wrote:01 compilers:01 executes:01 On Thursday 09 October 2008 22:57:41 Erik de Castro Lopo wrote: > > Side note: is there an Ocaml bytecode-compiler written in Ocaml > > somewhere? > > I'm pretty sure the vast majority of the standard Ocaml bytecode > compiler is written in Ocaml. The same is probably not true for > the bytecode VM. You mean the program that generates OCaml's bytecodes is written in OCaml. I assume Kuba meant that the program that executes OCaml's bytecodes is not written in OCaml. I would love to see an interpreter of OCaml's bytecode that was itself written in OCaml. There are also some obvious derivative projects, like a JIT compilers written in MetaOCaml or written using LLVM (similar to Basile's ocamljit). Once LLVM did some optimizations, it could be interesting to compare the performance of native-code OCaml with LLVM JITted OCaml bytecode. Perhaps some things (like Int32/64) could be greatly improved in performance? -- Dr Jon Harrop, Flying Frog Consultancy Ltd. http://www.ffconsultancy.com/?e