From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 57E047F71A; Fri, 11 Apr 2014 15:42:42 +0200 (CEST) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of jp.deplaix@gmail.com) identity=pra; client-ip=209.85.212.173; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="jp.deplaix@gmail.com"; x-sender="jp.deplaix@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of jp.deplaix@gmail.com designates 209.85.212.173 as permitted sender) identity=mailfrom; client-ip=209.85.212.173; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="jp.deplaix@gmail.com"; x-sender="jp.deplaix@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-wi0-f173.google.com) identity=helo; client-ip=209.85.212.173; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="jp.deplaix@gmail.com"; x-sender="postmaster@mail-wi0-f173.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AjUCAE7wR1PRVdStlGdsb2JhbABZg0GDG0rBAT2BGxYOAQEBAQcLCwkSKoIlAQEBBAwXDwEFCAEbHAIDDAYDAgsNAgIFFgsCAgkDAgECARERAQUBHAYBDAgCh2MBAxEFCI0vkAuMDlGDDpdNChknDWSFfxEBBQyBHY1Kgm+BSQEDmGCBNYUehBCCE4NdQYRh X-IPAS-Result: AjUCAE7wR1PRVdStlGdsb2JhbABZg0GDG0rBAT2BGxYOAQEBAQcLCwkSKoIlAQEBBAwXDwEFCAEbHAIDDAYDAgsNAgIFFgsCAgkDAgECARERAQUBHAYBDAgCh2MBAxEFCI0vkAuMDlGDDpdNChknDWSFfxEBBQyBHY1Kgm+BSQEDmGCBNYUehBCCE4NdQYRh X-IronPort-AV: E=Sophos;i="4.97,842,1389740400"; d="scan'208";a="56679116" Received: from mail-wi0-f173.google.com ([209.85.212.173]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 11 Apr 2014 15:42:41 +0200 Received: by mail-wi0-f173.google.com with SMTP id z2so1028465wiv.6 for ; Fri, 11 Apr 2014 06:42:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=kgyAaMjR1FRrJf2SL/0pj1gK0kpHzzx+QyIomdUAQNA=; b=LdaY5QvZiivhUXGYYxQcZxGsQ1CUmlzIIZk86DuO8QO6jG0M0EqWuZ0Yh1rFX9LR8E KLWEPu8KBrzk/R9nyqFZ9opd+aQUAMXHTe9bx7KaCo4c9hnO+aQ3Jwn2tQ7Xeg1ke4tY oaFs5B8/gArWY5JNNVHDEqOe6r277pRJXvVAwd0ZmFlCXA7i1rI7bUj7YfhiVIOf7cdG EWoceNj/mb6QplKeiMHmZLNWGiu9Jn4+QC5iQANyZKjbiltN8UKKRmt+yxJwewUjPdp0 WTT6oAs81c91Jb5lMaGbu+KSxjZkjwjJ3qF+XEnrrnA3+eeKIxg8SpNGt4EH9FGoC2e1 YRjQ== X-Received: by 10.180.8.136 with SMTP id r8mr3607379wia.60.1397223761437; Fri, 11 Apr 2014 06:42:41 -0700 (PDT) Received: from [128.93.188.199] (wifi-auth-188199.inria.fr. [128.93.188.199]) by mx.google.com with ESMTPSA id km2sm11372311wjb.13.2014.04.11.06.42.40 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 11 Apr 2014 06:42:40 -0700 (PDT) Message-ID: <5347F14F.2080300@gmail.com> Date: Fri, 11 Apr 2014 15:42:39 +0200 From: Jacques-Pascal Deplaix User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.4.0 MIME-Version: 1.0 To: =?UTF-8?B?SsOpcsO0bWUgVm91aWxsb24=?= , caml-list@inria.fr, "ocsigen@inria.fr" References: <5347EA52.2070708@pps.univ-paris-diderot.fr> <5347EFE0.6050908@gmail.com> In-Reply-To: <5347EFE0.6050908@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [Caml-list] [ANN] Ocsigen Js_of_ocaml 2.0 Oups, the working command line for ocamlbuild is rather this one: $ ocamlbuild -use-ocamlfind -plugin-tags "package(eliom.ocamlbuild)" yourprogram.js On 04/11/2014 03:36 PM, Jacques-Pascal Deplaix wrote: > Note also that this release includes an ocamlbuild plugin which can be > used with ocaml >= 4.01. > > You can now build your javascript program with the following "steps": > $ ls > yourprogram.ml myocamlbuild.ml > $ cat myocamlbuild.ml > Ocamlbuild_plugin.dispatch Ocamlbuild_js_of_ocaml.dispatcher;; > $ ocamlbuild -plugin-tags js_of_ocaml.ocamlbuild yourprogram.js > > Then yourprogram.js can be found in the _build directory > > The full Changelog is available here: > https://github.com/ocsigen/js_of_ocaml/blob/089b051f4f819caa51036627846c35a194b9430c/CHANGES > > > On 04/11/2014 03:12 PM, Jérôme Vouillon wrote: >> Hi, >> >> We are happy to announce release 2.0 of Js_of_ocaml, the compiler from >> OCaml bytecode to JavaScript. >> >> A lot of efforts has been put in reducing the size of the generated >> JavaScript code. Much shorter variable names are used; unnecessary >> whitespaces and semicolons are omitted; multiple occurrences of a same >> constant are shared... The runtime is minified as well. You can expect >> a space reduction of 15% to 20%. >> >> Recursive modules are now supported. Tail calls between mutually >> recursive functions are optimized (using trampolines). In particular, >> lexers produced by ocamllex are now properly optimized. >> >> The runtime now simulates a small filesystem (in memory), which makes >> it possible to use the OCaml I/O functions. The standard outputs are >> by default redirected to the JavaScript console, which is convenient >> for debugging. >> >> A larger part of the OCaml libraries are supported: bigarrays, the >> time-related functions of the Unix library. >> >> A number of incompatible changes have been made. In particular: >> - JavaScript numbers are simply given type 'float' rather than type >> 'float Js.t'; >> - the compiler generates "strict mode" JavaScript; therefore, >> 'Js.Unsafe.variable "this"' does not refer to the JavaScript >> global object ("window" in browsers) anymore; you can use >> 'Js.Unsafe.global' instead; >> - runtime primitives are now wrapped together with the generated code >> in a huge function so as not to pollute the global scope. >> >> LINKS >> >> Project home page http://ocsigen.org/js_of_ocaml/ >> Download http://ocsigen.org/download/js_of_ocaml-2.00.tar.gz >> Get source code git clone https://github.com/ocsigen/js_of_ocaml.git >> Documentation http://ocsigen.org/js_of_ocaml/manual/ >> >> >> Regards, >> >> -- Jérôme Vouillon and Hugo Heuzard >