Previous week Up Next week

Hello

Here is the latest OCaml Weekly News, for the week of April 08 to 15, 2014.

  1. index2share 0.5.72
  2. Ocsigen Js_of_ocaml 2.0
  3. Other OCaml News

index2share 0.5.72

Archive: https://sympa.inria.fr/sympa/arc/caml-list/2014-04/msg00079.html

Nicolas Boulay announced:
I'd like to announce the release of index2share 0.5.72 which is
available on github.

home page : https://github.com/nicolasboulay/index2share
Annonce in french :
https://linuxfr.org/users/niconico/journaux/index2share-v0-5-72-indexer-choisir-et-copier-des-fichiers

This is a command line tools to manage copy ans share of bunch of large
files, even in different external disks. The main idea is to manipulate
small index file, instead of the big ones.

I hope this could be usefull to somebody.
      

Ocsigen Js_of_ocaml 2.0

Archive: https://sympa.inria.fr/sympa/arc/caml-list/2014-04/msg00085.html

Jérôme Vouillon announced:
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/
      
Jacques-Pascal Deplaix then added:
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
      
Jacques-Pascal Deplaix later corrected:
Oups, the working command line for ocamlbuild is rather this one:
 $ ocamlbuild -use-ocamlfind -plugin-tags "package(eliom.ocamlbuild)"
yourprogram.js
      

Other OCaml News

From the ocamlcore planet blog:
Thanks to Alp Mestan, we now include in the OCaml Weekly News the links to the
recent posts from the ocamlcore planet blog at http://planet.ocaml.org/.

Representing pattern-matching with GADTs:
  http://syntaxexclamation.wordpress.com/2014/04/12/representing-pattern-matching-with-gadts/

Ocsigen Js_of_ocaml 2.0:
  http://ocsigen.org/

Inlined records in constructors:
  http://www.lexifi.com/blog/inlined-records-constructors
      

Old cwn

If you happen to miss a CWN, you can send me a message and I'll mail it to you, or go take a look at the archive or the RSS feed of the archives.

If you also wish to receive it every week by mail, you may subscribe online.


Alan Schmitt