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=2.0 required=5.0 tests=DNS_FROM_SECURITYSAGE autolearn=disabled version=3.1.3 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 14615BBAF for ; Tue, 18 Nov 2008 08:15:35 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av4CANb5IUnUnw4Sgmdsb2JhbACCPJEbAQELCwgHEwO9F4J5 X-IronPort-AV: E=Sophos;i="4.33,623,1220220000"; d="scan'208";a="19277326" Received: from pih-relay05.plus.net ([212.159.14.18]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/AES256-SHA; 18 Nov 2008 08:15:34 +0100 Received: from [87.115.4.231] (helo=leper.local) by pih-relay05.plus.net with esmtp (Exim) id 1L2Ko9-0000Ki-8H for caml-list@yquem.inria.fr; Tue, 18 Nov 2008 07:15:33 +0000 From: Jon Harrop Organization: Flying Frog Consultancy Ltd. To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] [announce] O'Browser : OCaml on browsers Date: Tue, 18 Nov 2008 08:18:00 +0000 User-Agent: KMail/1.9.9 References: <492199E2.1020504@gmail.com> In-Reply-To: <492199E2.1020504@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200811180818.01042.jon@ffconsultancy.com> X-Plusnet-Relay: a3b51f32d694aebee5f4ad3fce3b1f34 X-Spam: no; 0.00; ocaml:01 ocaml:01 runtime:01 ocaml's:01 bindings:01 bug:01 syntax:01 bytecode:01 compiler:01 run-time:01 ocaml's:01 javascript:98 javascript:98 chrome:98 frog:98 On Monday 17 November 2008 16:20:50 Benjamin Canou wrote: > Hi, > > O'Browser is an implementation of the OCaml virtual machine in > JavaScript, designed to run in web browsers. > It features a runtime library compatible with OCaml's standard one > (including OOP and concurrent threads) and bindings of some JavaScript > functions to manipulate the DOM primitives. > > The distribution is available at [1] and an online version of the > tutorial is reachable at [2]. > > Please note that this is an early version, in particular the DOM > interface module is neither pretty nor well typed. > However, it can already be used to create little applets or scripts (as > in the tutorial [2], the examples of the distribution [3] or my webpage > [4]) and we'll be glad to receive your comments or bug reports. This is a really awesome project! Performance is fine on a decent browser. Times taken to highlight syntax_common.ml on this machine: Chrome: 0.5s Firefox: 1.1s IE7: 5.7s Konqueror: 17.5s Looks like you've got an OCaml bytecode interpreter written in Javascript. Could you write a compiler and call eval to get better performance? I've been thinking about run-time generating code using LLVM that runs in OCaml's VM recently. Using that to implement Javascript on top of OCaml's VM would be interesting... Anyway, I think that's a really great piece of work! -- Dr Jon Harrop, Flying Frog Consultancy Ltd. http://www.ffconsultancy.com/?e