caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Gabriel Scherer <gabriel.scherer@gmail.com>
To: Benedikt Meurer <benedikt.meurer@googlemail.com>
Cc: Basile Starynkevitch <basile@starynkevitch.net>,
	Gerd Stolpmann <info@gerd-stolpmann.de>,
	 Francois Berenger <berenger@riken.jp>,
	caml-list@inria.fr
Subject: Re: [Caml-list] ocamlc compiles hello world, ocamlopt not
Date: Thu, 17 Jan 2013 00:17:04 +0100	[thread overview]
Message-ID: <CAPFanBEiWSw5rTiz2CL1SOmwY=06HTsRyKEDMA3ga87RfwcLPQ@mail.gmail.com> (raw)
In-Reply-To: <610FAC34-EFC6-411F-87B7-03CA021E5C8E@gmail.com>

Benedikt, let me jump on the occasion to provide more pointers you
might be interested in:

- Raphaël Amiard, a student at Paris 6 university, recently worked on
translating OCaml byte into LLVM:
https://github.com/raph-amiard/CamllVM ; I have not seen a definite
comparison with Colin's and Benoit's work, but they appear to hit the
same kind of issues (performance degradation of exceptions, handling
GC roots that are passed in registers)

- VeriML is a research language for writing tactics and proof
assistants; developed at Yale during Antonis Stampoulis recently
finished thesis ( http://www.cs.yale.edu/homes/stampoulis/ ); they
have a HOL-like mode of interaction, where the user-interface to the
prover is directly a toplevel (forked from OCaml's toplevel), and they
use OCamlJIT2 to provide good performances within this model.

On Wed, Jan 16, 2013 at 11:32 PM, Benedikt Meurer
<benedikt.meurer@googlemail.com> wrote:
>
> On Jan 16, 2013, at 10:48 , Basile Starynkevitch <basile@starynkevitch.net> wrote:
>
>> On Wed, Jan 16, 2013 at 10:01:06AM +0100, Gerd Stolpmann wrote:
>>> Am 16.01.2013 09:56:55 schrieb(en) Francois Berenger:
>>>> On 01/16/2013 05:02 PM, r0ller@freemail.hu wrote:
>>>>> Hi All,
>>>>>
>>>>> By the way, is there any doc available about porting ocaml
>>>>> (google didn't find any) or any hint on how to move forward? I'd
>>>>> really like to have the native compiler on minix too.
>>>>
>>>> I think in the past it was possible to generate C code from OCaml
>>>> code.
>>>
>>> There is no real C backend (and has never been). The only thing you
>>> can do is to embed bytecode in a C-friendly way (what -output-obj
>>> does). But it is still bytecode.
>>
>> Benoit Vaugon & Michel Mauny worked recently on OcamlCC
>> (a translator from Ocaml bytecode to C)
>> http://oud.ocaml.org/2012/abstracts/oud2012-final10.pdf
>> https://github.com/ocaml-bytes/ocamlcc
>
> Very interesting work. I somehow missed that so far. I did something similar prior to starting with OCamlJIT2, but that turned out to be very slow with the compilation of the C code. I'd be interested to hear about results from generating LLVM code instead of C. Actually I'm still thinking that a tracing JIT using LLVM to optimize/generate code could be a viable option for the bytecode runtime (this is one of the results we gathered while working on Colin's thesis, the LLVM backend for the native code compiler).
>
> greets,
> Benedikt
> --
> Caml-list mailing list.  Subscription management and archives:
> https://sympa.inria.fr/sympa/arc/caml-list
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs

  reply	other threads:[~2013-01-16 23:17 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <fa.J86NbZyp4NcoVDLx3IIZPjh6Xsw@ifi.uio.no>
     [not found] ` <fa.cI6IwITMmpEcG/xX8jnbm1tXnWU@ifi.uio.no>
2013-01-11 16:13   ` r0ller
2013-01-11 16:23     ` r0ller
2013-01-16  8:02       ` r0ller
2013-01-16  8:56         ` Francois Berenger
2013-01-16  9:01           ` AW: " Gerd Stolpmann
2013-01-16  9:48             ` Basile Starynkevitch
2013-01-16 22:32               ` Benedikt Meurer
2013-01-16 23:17                 ` Gabriel Scherer [this message]
2013-01-17 19:34                   ` Benedikt Meurer
2013-01-17  1:10             ` AW: " Francois Berenger
2013-01-17  7:53               ` Alain Frisch
     [not found] <fa.rDSh+u4grOqB/jgTnZaDUQoT+s0@ifi.uio.no>
     [not found] ` <fa.53tG84D0PDsZ/dZaWLkOQvsLfTU@ifi.uio.no>
2013-01-16 10:20   ` r0ller
     [not found] <fa.tMEIU2eZ10ydMQJpEId8zYmuWpo@ifi.uio.no>
     [not found] ` <fa.5ytRg9PGwzfRT5U12a+96CThPHM@ifi.uio.no>
     [not found]   ` <fa.fEvQzwMsL9tn+Q+kKoqZrwKQpHs@ifi.uio.no>
     [not found]     ` <fa.gj9h88pWsiKoDqywSvikWobc2Gk@ifi.uio.no>
     [not found]       ` <fa.yuD604fWUWzMhQKQ2PVUY9+PSRs@ifi.uio.no>
     [not found]         ` <fa.SiWjqBgSRaJHHtRDr1LQlRGec/I@ifi.uio.no>
2013-01-16  9:29           ` r0ller
     [not found]           ` <fa.vGYTX053VB/7kO+WVlnBXs6LyWM@ifi.uio.no>
2013-01-16  9:36             ` r0ller
     [not found]             ` <fa.3ZA77VqUCTh0CDJf/dKc9fxM234@ifi.uio.no>
2013-01-16 10:16               ` r0ller
2013-01-10 14:48 r0ller
2013-01-10 16:08 ` Gerd Stolpmann
2013-01-11  9:28   ` r0ller
2013-01-11  9:56     ` Xavier Leroy
  -- strict thread matches above, loose matches on Subject: below --
2013-01-10 13:57 r0ller
2013-01-10 14:25 ` Gerd Stolpmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAPFanBEiWSw5rTiz2CL1SOmwY=06HTsRyKEDMA3ga87RfwcLPQ@mail.gmail.com' \
    --to=gabriel.scherer@gmail.com \
    --cc=basile@starynkevitch.net \
    --cc=benedikt.meurer@googlemail.com \
    --cc=berenger@riken.jp \
    --cc=caml-list@inria.fr \
    --cc=info@gerd-stolpmann.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).