Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
about OcamIL
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2010-05-15 (00:48)
From: Jon Harrop <jonathandeanharrop@g...>
Subject: RE: [Caml-list] about OcamIL
Ben Kuin wrote:
> technical:
> - in .NET everything is easy (from the surface): you have your source
> file (hello.cs) you take your compiler (cs.exe) and compile it to a
> msil bytecode file (hello.dll). You can run reflection tools to
> hello.dll or link it to a exe or generate back to source.  This
> bytecodefile is your friend. You can run it on a bunch of runtimes
> like .net clr, or on mono, or rotor, or dotgnu. You can register
> libraries in a container to prevent versioning problems with future
> releases. I couldn't figure out those equivalents int hlvm or llvm.

They haven't been written yet. :-)

> - with HLVM things are complex (for me): What is the role of the big
> underlying llvm infrastructure.

LLVM provides the compilation to native code, both static and JIT.

> Why do even need hlvm if we have llvm plus ocaml bindings.

LLVM's intermediate representation is a low-level assembly language with no
memory safety and no automatic memory management. HLVM is a layer on top of
LLVM that provides a higher-level intermediate language that is memory safe
and garbage collected.

> Does hlvm has its own bytecode? If yes where is it specified?

HLVM's IR is evolving much too quickly to be worth specifying yet.

> Is hlvm a ocaml library or is it a free standing vm?

Today, HLVM is an OCaml library. In the future, HLVM will be a free standing

> Maybe for you these a trivial questions, but I still dont get it,
> while with .net I never had problem to get the idea.

Ultimately, HLVM should be just as easy to understand. The only reason it
appears complicated today is that HLVM is a set of evolving fragments that
are gradually stabilizing and being pulled together to form a progressively
more capable core VM.

> What if hlvm would really take off, could they set it free and move the
homepage to sourceforge?

HLVM is free. I would always keep the core (VM and standard library) open
source. I might write an "HLVM for Scientists" book, sell libraries or
implement features for a fee but nothing evil. :-)

In fact, one dream I have is to create a commerce-friendly platform for
tools and libraries. I think Linux has really suffered from being
anti-commerce rather than truly free.