Previous week Up Next week


Here is the latest Caml Weekly News, for the week of January 27 to February 03, 2009.

  1. Tail calls in the JVM and the OCamlJava project
  2. XmlRpc-Light 0.6.1
  3. OCaml PLEAC reaches 100%
  4. Announcing the Jane Street Summer Project 2009

Tail calls in the JVM and the OCamlJava project


Replying to the thread from last week, Xavier Clerc said:
The work done around the Da Vinci machine
is clearly interesting for the future of the OCaml-Java project (and for
almost any compiler targeting the JVM). However, we have no evidence regarding
the 'transfert rate' from the Da Vinci machine to the 'plain' JVM.

That being said, some other developments are needed before we get decent
performances from ocamljava-compiled code. Not trying to be exhaustive, I
would list:
 - tail calls (*);
 - garbage collector strategies better suited to functional languages (*);
 - some kind of 'method pointers' for efficient closure handling (*)
 - a better memory model (**);
 - a better code generator (**);
 - more aggressive unboxing of values, like in ocamlopt (**).

Items marked by (*) are related to the JVM while those marked by (**) are
developments to be done on the OCaml-Java codebase. One chance for the
OCaml-Java project is that the hype around so-called scripting languages
seems to push Sun to design and integrate things that are useful to
OCaml-Java. Indeed, scripting languages and OCaml express some common
needs such as garbage collectors oriented towards short-lived objects,
or function/method pointers. Almost all that benefits to scripting
languages will also benefit to OCaml-Java.

Anyway, we will have to wait until JDK 7 (planned / hoped for late 2009)
to see some of these changes available for production. In the meantime,
I will have to find some time to work on OCaml-Java to correct its

XmlRpc-Light 0.6.1


Dave Benjamin announced:
I have released a new version of XmlRpc-Light, version 0.6.1. It is
available on Google Code at the following location:

[Note to package maintainers: I would greatly appreciate if you could
include the examples directory somewhere under /usr/share/doc in your
next distribution. Thanks!]

XmlRpc-Light is an XML-RPC client and server library written in OCaml.
It requires Xml-Light and Ocamlnet 2.

New in version 0.6.1

 * [1] WordPress example updated to support all new RPC methods in
   [2] WordPress 2.7, including reading and writing of comments and
   options, timezone-safe date-time handling, and page and post status
 * New example code: [3] complete set of bindings to [4] UbiGraph, an
   interactive 3D graph rendering and animation engine
 * Support for int32 type and lazy multicall clients with "genclient"
   code-generation tool
 * New utility function, [5] XmlRpc.serve_message, enables building
   custom servers that efficiently map between other structured
   serialization formats


By the way, at the time of writing, it would appear that, the official homepage of XML-RPC, is completely offline.
XML-RPC is dead! Long live XML-RPC! =)

OCaml PLEAC reaches 100%


Dave Benjamin announced:
It is with great pleasure, and fair bit of relief, that I announce the
completion of the OCaml PLEAC!

The PLEAC project aims to translate the source code examples from the Perl
Cookbook into many languages. The OCaml version was started in 2001.

Note that by "completion", I am speaking from a purely numerical perspective.
There is still plenty of room for improvement, but I can say with confidence
that every recipe in the original cookbook has been given either a faithful
translation into OCaml or an explanation for why such a translation is
impossible or unnecessary, with a strong preference for the former.

The last few chapters contain many networking and (circa 1998) web programming
examples, primarily written with Ocamlnet. There is even a hand-written ICMP
ping, should you ever find that you need one. Also featured are several
examples of Richard Jones' Bitstring, Weblogs, and Perl4caml libraries, a
text-mode screen saver for curses, and of course the obligatory .signature
rotator. Enjoy!

The PLEAC project and OCaml version are available at these locations,

Thanks to the following people who, along with myself, contributed directly to
the OCaml PLEAC:

Erik de Castro Lopo
Jean-Christophe ARNU
Neale Pickett
Stefano Zacchiroli
William Douglas Neumann

Additional bug fixes and improvements were made possible with help, knowingly
or unknowingly, from the following individuals via their posts to the
caml-list and pleac-discuss mailing lists, personal email, or contributions to
other language implementations of PLEAC:

Alain Frisch
Andrew Johnson
Clément Capel
David Brown
David Mentré
Guillaume Cottenceau
Janne Hellsten
Ken Wakita
Mac Mason
Miguel Pignatelli
Paul King

Finally, I'd personally like to give my sincere thanks to Anthony Borla and
Pixel, for their support and enthusiasm; to Guillaume Cottenceau for hosting
and maintaining this project for so many years; to Tom Christiansen for
writing the vast majority of the original Perl recipes; and to O'Reilly for
giving permission to rewrite the Perl Cookbook's source and thus allowing
PLEAC to exist.

Announcing the Jane Street Summer Project 2009


Yaron Minsky announced:
I'm pleased to announce the Jane Street Summer Project for 2009.

The JSSP is really just a new name for the OCaml Summer Project, where the
change in name reflects a change in scope.  While maintaining a focus on
OCaml, we're also accepting proposals for other functional programming

We've also made some changes to the funding structure which we think will
make it easier for faculty members and students in the US to take part.

The project blog can be found here:

and the project FAQ can be found here:

Using folding to read the cwn in vim 6+

Here is a quick trick to help you read this CWN if you are viewing it using vim (version 6 or greater).

:set foldmethod=expr
:set foldexpr=getline(v:lnum)=~'^=\\{78}$'?'<1':1

If you know of a better way, please let me know.

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