caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: "Raphael Montelatici" <rmontelatici@libertysurf.fr>
To: <caml-list@inria.fr>
Subject: Re: [Caml-list] Alternative Bytecodes for OCaml
Date: Thu, 26 Aug 2004 11:05:33 +0200	[thread overview]
Message-ID: <002801c48b4b$d831d8d0$25a89d86@rubidium> (raw)
In-Reply-To: <200408251002.48722.jgoerzen@complete.org>

Hi all,
Here are some explanations on OcamIL.
OcamIL compiles Ocaml programs to verifiable MSIL bytecode.
I  have not advertised at all about it so far because I still consider it is
not mature yet.

Some implementation details:
OcamIL is a modified ocamlopt compiler. Modifications are made as late as
possible in order to achieve maximum compatibility with ocamlc/opt. One big
issue is the compilation of an untyped intermediate language to a typed
runtime.

Two tracks have been followed : 1) type reconstruction and 2) type
propagation
1) The current OcamIL distribution relies on the first approach. It gives
enough good results to allow to bootstrap OCamIL and build an Ocaml
toplevel for .NET. Interoperability with C# has been successfully tested.
2) However, it leads to unadequate data representations that entail poor
performance. I'm currently working on the second approach.
This involves a lot of code restructuration. Source files (as a patch to
ocaml sources) together with a correct license will appear in the next
release (expected late october ?)

About interoperability:
We do not want to add weird FFI features to the Ocaml syntax. We prefer an
IDL approach, inspired by what have been done for Caml and Java by the
OJacare project ( http://www.pps.jussieu.fr/~henry/ojacare/index.en.html ).

About mono:
OcamIL is developped and tested on windows, but I'm willing to make it
compatible with Mono.
However, mono still lacks .NET compatibility. OcamIL relies on parts of the
Reflection library that are not available yet.
Moreover, the mono bytecode interpreters behaves strangely: some executables
produced by OcamIL don't run in the bytecode interpreter, but do run when
previously compiled by the mono bytecode-to-nativecode compiler.
Please Mono users wait for the next OcamIL release, which will be announced
on this list.

Raphael Montelatici





----- Original Message ----- 
From: "John Goerzen" <jgoerzen@complete.org>
To: <caml-list@inria.fr>
Cc: <Emmanuel.Chailloux@pps.jussieu.fr>;
<Raphael.Montelatici@pps.jussieu.fr>
Sent: Wednesday, August 25, 2004 5:02 PM
Subject: Re: [Caml-list] Alternative Bytecodes for OCaml


> [ I'm CCing the people listed as contacts on the OCamil page; I hope you
> don't mind ]
>
> On Wednesday 25 August 2004 09:50 am, John Goerzen wrote:
> > On Wednesday 25 August 2004 09:38 am, Richard Jones wrote:
> > > On Wed, Aug 25, 2004 at 09:26:28AM -0500, John Goerzen wrote:
> > > >  * An ocamlc/ocamlrun that execute under Java or .NET and
> > > > compile/run normal OCaml bytecode
> > >
> > > This interesting project was posted on the Wiki yesterday.  It
> > > generates code which runs on the .NET CLR.  I'm not exactly sure
> > > how, whether it's a modified compiler, or a translator of OCaml
> > > bytecode:
> > >
> > > http://www.pps.jussieu.fr/~montela/ocamil/
> >
> > That is indeed interesting.  It looks like they have a good start.
> > Unfortunately, there's one huge problem: there is no source code at
> > all.  (Doesn't that violate the OCaml license?)
>
> This is a very important point, BTW.
>
> I have been able to take their binaries and see at least something
> happen with Mono:
>
> $ mono ocamiltop.exe
>
> ** ERROR **: Invalid IL code at IL0096 in Nativeint.Top:start ():
> IL_0096: shl
>
> Well, it's a start.  With source, I could probably do a lot more.
>
> > They are working in a pure Windows environment and have yet to port
> > some libraries such as Str and Unix.  These are both things I can
> > help with, but without the source code, it's completely useless to
> > me.
> >
> > > What will be interesting will be to see how well it allows one to
> > > call .NET libraries, and how well it works on Mono.
> >
> > Indeed.  (And how well it allows other .NET programs to call OCaml
> > code.)
> >
> > -- John
> >
> > -------------------
> > To unsubscribe, mail caml-list-request@inria.fr Archives:
> > http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs
> > FAQ: http://caml.inria.fr/FAQ/ Beginner's list:
> > http://groups.yahoo.com/group/ocaml_beginners
>

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


  reply	other threads:[~2004-08-26  9:09 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-25 14:26 John Goerzen
2004-08-25 14:38 ` Richard Jones
2004-08-25 14:50   ` John Goerzen
2004-08-25 15:02     ` John Goerzen
2004-08-26  9:05       ` Raphael Montelatici [this message]
2004-08-26 13:20         ` John Goerzen
2004-08-26 13:30           ` John Goerzen
2004-08-25 14:55   ` Lars Nilsson
2004-08-25 15:06     ` Jason Smith
2004-08-25 16:14       ` John Goerzen
2004-08-28  3:49     ` John Goerzen
2004-08-25 15:05 ` skaller
2004-08-25 15:21   ` Lars Nilsson
2004-08-25 15:22   ` Jason Smith
2004-08-25 15:52     ` John Goerzen
2004-08-25 16:26       ` Jason Smith
2004-08-25 16:40         ` Jason Smith
2004-08-25 16:49       ` Ville-Pertti Keinonen
2004-08-25 17:01         ` Jason Smith
2004-08-25 17:17         ` John Goerzen
2004-08-25 20:00       ` skaller
2004-08-25 15:23   ` Brian Hurt
2004-08-25 15:24     ` Christophe TROESTLER
2004-08-27 14:26     ` Daniel Ortmann
2004-08-27 14:44       ` skaller
2004-08-27 14:59       ` Brian Hurt
2004-08-25 15:35   ` John Goerzen
2004-08-25 16:00   ` Richard Jones
2004-08-25 15:40 ` Nicolas Cannasse
2004-08-27 17:55   ` John Goerzen
2004-08-27 18:37     ` skaller
2004-08-27 18:49       ` John Goerzen
2004-08-27 20:39         ` skaller
2004-08-27 20:56           ` John Goerzen
2004-08-27 22:05             ` Richard Jones
2004-08-27 23:15               ` John Goerzen
2004-08-31 11:10                 ` Keith Wansbrough
2004-08-28  0:25             ` skaller
2004-08-28  9:35               ` Marcin 'Qrczak' Kowalczyk
2004-08-28  9:50                 ` Marcin 'Qrczak' Kowalczyk
2004-08-28 10:41                   ` skaller
2004-08-28 11:37                     ` Marcin 'Qrczak' Kowalczyk
2004-08-25 17:37 ` Basile Starynkevitch [local]
2004-08-25 18:00   ` Richard Jones
2004-08-25 22:10 ` Yamagata Yoriyuki
2004-08-26  0:09   ` John Goerzen
2004-08-26  4:26     ` [Caml-list] bytecode and native code at once Brandon J. Van Every
2004-08-26  9:55       ` skaller
2004-08-26 15:52         ` [Caml-list] " mikel
2004-08-26 17:09           ` Paul Snively
2004-08-26 17:31             ` mikel evins
2004-08-26 18:04               ` Paul Snively
2004-08-26 18:28                 ` mikel evins
2004-08-26 21:15             ` skaller
2004-08-27  8:52           ` Keith Wansbrough
2004-08-27 15:39             ` David Brown
2004-08-27 15:48               ` mikel evins
2004-08-26 21:42     ` [Caml-list] Alternative Bytecodes for OCaml Michal Moskal
2004-08-27  9:38       ` Nicolas Cannasse
2004-08-27 13:09         ` John Goerzen
2004-08-27 13:44           ` Brian Hurt
2004-08-27 13:58           ` skaller
2004-08-27 20:48           ` Nicolas Cannasse
2004-08-27 21:03             ` Benjamin Geer
2004-08-30 16:40             ` John Goerzen
2004-08-27 19:49         ` Blair Zajac
2004-08-27 22:18           ` Richard Jones
2004-08-27 23:38             ` Yamagata Yoriyuki
2004-08-28 16:40               ` Basile Starynkevitch [local]
2004-08-28 17:03                 ` [Caml-list] (GC issues) " Nicolas Cannasse
2004-08-28 20:45                   ` [Caml-list] " Basile Starynkevitch [local]
2004-08-29  2:31                     ` skaller
2004-08-29  5:04                       ` Brandon J. Van Every
2004-08-29 12:58                         ` John Goerzen
2004-08-29 15:06                           ` Brian Hurt
2004-08-29 15:22                             ` Radu-Mihail Obada
2004-08-29 10:12                     ` Nicolas Cannasse
2004-08-30 12:23                       ` Basile Starynkevitch [local]
2004-08-30 13:17                         ` Nicolas Cannasse
2004-08-26 16:04 ` [Caml-list] " =?unknown-8bit?Q?=A3ukasz?= Dobrek

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='002801c48b4b$d831d8d0$25a89d86@rubidium' \
    --to=rmontelatici@libertysurf.fr \
    --cc=caml-list@inria.fr \
    /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).