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.4 required=5.0 tests=HTML_MESSAGE,SPF_NEUTRAL 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 A8957BC69 for ; Sun, 13 Jan 2008 23:45:56 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApkZAHYjikdIDvyfdGdsb2JhbACCNAU1jRwBCQUtgRaPOIVZ X-IronPort-AV: E=Sophos;i="4.24,279,1196636400"; d="scan'208";a="21187443" Received: from po-out-1718.google.com ([72.14.252.159]) by mail4-smtp-sop.national.inria.fr with ESMTP; 13 Jan 2008 23:45:54 +0100 Received: by po-out-1718.google.com with SMTP id y22so840627pof.3 for ; Sun, 13 Jan 2008 14:45:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; bh=KfQ6lB3AnnC/MlmRkifS4dm6fXwACaKf0d02F8zPGv8=; b=HStFMLzrQGEhMRyRnK6nu/XSQbaufiRCI4Qyy/vkaRCoQ0dZRV3OL688vZ/D2LL0/iI/TiPJ1aM6IrNjXGJ/OfWJm7DVEaGmajGPlydeKPkDFUmKm/GdK+ofnDbxWkSoY/iO6PTPxdgL0onlDiTTNfPDhgiyMt7O+voS+oAdw1w= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=viDvPwHI/AbraJSILy7lJ+ljjoH/vAIvyfqFUAan622JxKbiVpwYW2Ezuneq19ZWU2EY1MSCUaVRswO9KmeRGSaOB8ERU1LaMYPrrEEY7XWOmOscT+gH9exm+vr4Dv5QiJH4lwFjF7iCEgm+Us80bbjiMJTfyvMsYRuU7T58Jmk= Received: by 10.114.110.12 with SMTP id i12mr3116227wac.73.1200264352762; Sun, 13 Jan 2008 14:45:52 -0800 (PST) Received: by 10.114.167.6 with HTTP; Sun, 13 Jan 2008 14:45:52 -0800 (PST) Message-ID: Date: Sun, 13 Jan 2008 14:45:52 -0800 From: "Francois Rouaix" To: "Jon Harrop" Subject: Re: [Caml-list] Reimplementing OCaml on LLVM Cc: caml-list@yquem.inria.fr In-Reply-To: <200801121455.59613.jon@ffconsultancy.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_10840_27230749.1200264352761" References: <200801121455.59613.jon@ffconsultancy.com> X-Spam: no; 0.00; ocaml:01 ocaml's:01 run-time:01 ocamlc:01 bytecode:01 --f:01 ocaml:01 compiler:01 ocaml's:01 polymorphism:01 ffi:01 unboxing:01 beginner's:01 bug:01 run-time:01 ------=_Part_10840_27230749.1200264352761 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline As a quick feasability check, you might start by checking if the backend can actually support OCaml's run-time concepts. ocamlc has two undocumented options -dlamba and -dinstr which could be used to generate intermediate representations. Alternatively, JIT from the bytecode might be a quick hack as well.--f On Jan 12, 2008 6:55 AM, Jon Harrop wrote: > > Many people including myself have shown considerable interest in using the > LLVM project from OCaml and, in particular, in implementing an entire FPL > using this approach. > > I'm just wondering if any of the OCaml team would be interested in doing > or > helping with a port themselves? I doubt it could count as "work" but I > think > there are plenty of opportunities for fun tinkering here. :-) > > Even if the result were only a toy implementation of a language I am sure > examples would help non-experts enormously in getting to grips with how > such > a compiler might be written. > > This also presents an awesome opportunity to address some of the > shortcomings > of OCaml's current implementation, such as polymorphism, FFI, unboxing and > so > forth and to test alternative approaches. > > -- > Dr Jon D Harrop, Flying Frog Consultancy Ltd. > http://www.ffconsultancy.com/products/?e > > _______________________________________________ > Caml-list mailing list. Subscription management: > http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list > Archives: http://caml.inria.fr > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs > ------=_Part_10840_27230749.1200264352761 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline As a quick feasability check, you might start by checking if the backend can actually support OCaml's run-time concepts. ocamlc has two undocumented options -dlamba and -dinstr which could be used to generate intermediate representations. Alternatively, JIT from the bytecode might be a quick hack as well.
--f

On Jan 12, 2008 6:55 AM, Jon Harrop <jon@ffconsultancy.com> wrote:

Many people including myself have shown considerable interest in using the
LLVM project from OCaml and, in particular, in implementing an entire FPL
using this approach.

I'm just wondering if any of the OCaml team would be interested in doing or
helping with a port themselves? I doubt it could count as "work" but I think
there are plenty of opportunities for fun tinkering here. :-)

Even if the result were only a toy implementation of a language I am sure
examples would help non-experts enormously in getting to grips with how such
a compiler might be written.

This also presents an awesome opportunity to address some of the shortcomings
of OCaml's current implementation, such as polymorphism, FFI, unboxing and so
forth and to test alternative approaches.

--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/products/?e

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

------=_Part_10840_27230749.1200264352761--