From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by yquem.inria.fr (Postfix) with ESMTP id E44B1BC57 for ; Sat, 15 May 2010 02:48:42 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ag8GANKM7UtKfVI0gGdsb2JhbACSBYEUimQIFQEBFCQisDEBBY1mAQSFEA X-IronPort-AV: E=Sophos;i="4.53,234,1272837600"; d="scan'208";a="50643447" Received: from mail-ww0-f52.google.com ([74.125.82.52]) by mail3-smtp-sop.national.inria.fr with ESMTP; 15 May 2010 02:48:32 +0200 Received: by wwb24 with SMTP id 24so2040195wwb.39 for ; Fri, 14 May 2010 17:48:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:received:received:from:to:references :in-reply-to:subject:date:organization:message-id:mime-version :content-type:content-transfer-encoding:x-mailer:thread-index :content-language; bh=u6i5yYmVaN5u/XaTtriMZwW27V4Qk7k+/fPXDYTjpy8=; b=uHijVe8EvwAogNTHoQhED8JFIxc0zHg8JPkqOz0IhaQJq5t9Kek981kYHQ1gJ2B/Al C4aRFCloOXulA27g/Jpo0wtmzGVonlJm5Fw0Y2fN0LVkKlwFAYBAkJPpYKklkgOrl9/1 2ZVvdAwwvy2qxsfTpCS6xCUHbAs0n7eI6ddoY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=from:to:references:in-reply-to:subject:date:organization:message-id :mime-version:content-type:content-transfer-encoding:x-mailer :thread-index:content-language; b=MKymLA8op2rUFAwSryIwV5CvOOfxG+yY3XFuZ33vzCdrxLxptzexGlaHfwC+bAeCAb RQNSerMIh3G0Bh4nUzkLQCwWGYT59s9iqvPiKfsjmwMU5EDb9mJ3dOsasfM6x8Uv+F6y AvkpPQfvHVinX4ShkJLLfumV18dTVCUPbFGMk= Received: by 10.227.69.8 with SMTP id x8mr1897999wbi.105.1273884512478; Fri, 14 May 2010 17:48:32 -0700 (PDT) Received: from WinEight (87.114.183.77.plusnet.thn-ag1.dyn.plus.net [87.114.183.77]) by mx.google.com with ESMTPS id l23sm20307029wbb.14.2010.05.14.17.48.30 (version=SSLv3 cipher=RC4-MD5); Fri, 14 May 2010 17:48:31 -0700 (PDT) From: Jon Harrop To: References: <201005061233.07551.peng.zang@gmail.com> <07b101caf08b$3e5022c0$baf06840$@com> <088201caf1ce$b5060cb0$1f122610$@com> <20100512151137.26894ywcpv71ixvk@imp.ovh.net> <012601caf351$e9a362e0$bcea28a0$@com> <87fx1uh5r5.fsf@frosties.localdomain> <0E1811BF-59F6-4531-8A65-67B60A4F345D@gmail.com> In-Reply-To: Subject: RE: [Caml-list] about OcamIL Date: Sat, 15 May 2010 01:48:25 +0100 Organization: Flying Frog Consultancy Message-ID: <019401caf3c8$5435ef30$fca1cd90$@com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: AcrzoUI8arP5w7jgRteCQjZ1XWn/RQAIx9/w Content-Language: en-gb X-Spam: no; 0.00; compiler:01 bytecode:01 runtimes:01 versioning:01 compilation:01 ocaml:01 bindings:01 low-level:01 higher-level:01 bytecode:01 ocaml:01 trivial:01 cheers:01 pulled:98 sourceforge:01 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 VM. > 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. Cheers, Jon.