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
Re: Caml-list Digest, Vol 45, Issue 63
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2009-03-21 (22:04)
From: Andrey Riabushenko <cdome@b...>
Subject: Re: Caml-list Digest, Vol 45, Issue 63
>The OCaml compilers remove type information in the early stages of 
>compilation but LLVM is a typed assembler and needs that information to be 
>conveyed all the way through to the back end.
>The OCaml compilers make no attempt to provide reusable intermediate 

It is problem that I will have to solve. Make sure that type info is passed.

>JIT is the single most important benefit of LLVM in the context of OCaml. 
>JIT: You can instantiate polymorphic definitions for each combination of type 
>parameters that they are used with, providing substantial performance 

>You can generate code that is optimized for the current machine.
>You can provide a performant top-level.
>Forgetting about JIT would certainly be a mistake.

Because I not going to JIT the ocaml source, I do not need neither LLVM 
libraries nor its ocaml bindings. I am going to produce LLVM assembler 
directly without introduction of new dependencies to the ocaml trunk (this is 
really important for ocaml). If I JIT the code then it will become a whole 
new project which we never be merged to the ocaml trunk. I do not want 

>Collaboration with the existing HLVM effort would probably be far more 

Unfortunately, LLVM want ocaml LLVM front-end, they willl object against HLVM 
front-end. Too bad...

Do authors of ocaml has something to say about the idea?