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=4.1 required=5.0 tests=RCVD_IN_BL_SPAMCOP_NET, RCVD_NUMERIC_HELO,SPF_SOFTFAIL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr 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 AC0F3BBC4 for ; Sat, 21 Mar 2009 23:04:26 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av0DALYAxUleZLA0mGdsb2JhbACJGow4HAEBAQEBBgsMBxG9YoN+Bg X-IronPort-AV: E=Sophos;i="4.38,401,1233529200"; d="scan'208";a="36951547" Received: from mx38.mail.ru ([94.100.176.52]) by mail4-smtp-sop.national.inria.fr with ESMTP; 21 Mar 2009 23:04:26 +0100 Received: from [89.252.10.6] (port=51223 helo=89.252.10.6.freenet.com.ua) by mx38.mail.ru with asmtp id 1Ll9In-0003rH-00 for caml-list@yquem.inria.fr; Sun, 22 Mar 2009 01:04:25 +0300 From: Andrey Riabushenko To: caml-list@yquem.inria.fr Subject: Re: Caml-list Digest, Vol 45, Issue 63 Date: Sun, 22 Mar 2009 00:04:48 +0200 User-Agent: KMail/1.9.7 References: <20090321161035.9FA65BC1F@yquem.inria.fr> In-Reply-To: <20090321161035.9FA65BC1F@yquem.inria.fr> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200903220004.49019.cdome@bk.ru> X-Spam: Not detected X-Mras: Ok X-Spam: no; 0.00; ocaml:01 compilation:01 ocaml:01 bindings:01 dependencies:01 polymorphic:01 compilers:01 compilers:01 caml-list:01 digest:01 assembler:02 assembler:02 authors:03 parameters:03 top-level:03 >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 >representations. 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. With >JIT: You can instantiate polymorphic definitions for each combination of type >parameters that they are used with, providing substantial performance >mprovements. >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 >productive. 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?