Previous week Up Next week


Here is the latest Caml Weekly News, for the week of September 04 to 11, 2007.

  1. Enhtop for OCaml 3.10.0
  2. A Brief Introduction to PG'OCaml
  3. Call for Participation: 2007 Workshop on ML
  4. Barista project
  5. Cafesterol project
  6. Cadmium project
  7. Nickel project

Enhtop for OCaml 3.10.0


Zheng Li announced:
This is a quick notice about the availability of Enhtop (enhanced 
toplevel) for OCaml 3.10.0. Compared with previous release, this 
update is just the adaption to the new version of OCaml, no 
features been added. 

As before, we provide the patch itself, bytecode toplevel and 
debian packages.  Moreover, we now have a win32-mingw distribution 
in the form of a zipped package of several substitution 
files. Just unzip it to your OCaml installation directory and let 
the new files cover the original ones (be careful to back up your 
installation first). 

The address remains the same [1]. 



A Brief Introduction to PG'OCaml


Dario Teixeira announced:
I have been using the PG'OCaml library for some time now, and I have 
written some notes that document various aspects of the library. 
Judging from the recent messages in the Ocaml-beginners mailing-list, 
there's an active interest in this library out there.  I have thus 
decided to expand on those notes and to make them publicly available. 

The document, title "A Brief Introduction to PG'OCaml" can be found at 
the following address: 
(A summary of its contents is attached to the end of this message). 

Suggestions/corrections are of course welcome! 

Kind regards, 
Dario Teixeira 

PG'OCaml, by Richard W. M. Jones, provides an interface to PostgreSQL 
databases for OCaml applications. It uses Camlp4 to extend the OCaml 
syntax, enabling one to directly embed SQL statements inside the OCaml 
code. Moreover, it uses the describe feature of PostgreSQL to obtain 
type information about the database. This allows PG'OCaml to check at 
compile-time  if the programme is indeed consistent with the database 
structure. This type-safe database access is the primary advantage that 
PG'OCaml has over other PostgreSQL bindings for OCaml. 

Unfortunately, PG'OCaml is rather lacking on the documentation 
front. This document aims to fill that gap, by providing an overview 
of the capabilities of the library, usage examples, and solutions to 
potential pitfalls. Moreover, it also addresses the installation of 
PG'OCaml, how to compile programmes that make use of the library, and the 
correspondence between PostgreSQL data types and their OCaml counterparts.
Richard Jones then said:
I reviewed Dario Teixeira's drafts of this paper, and I'm very happy 
with it.  It's great that he has written the docs which I didn't 
bother with (:-) and I hope it brings PG'OCaml to more attention, 
because I think it's exciting (albeit very simple) OCaml tech.

Call for Participation: 2007 Workshop on ML


Derek Dreyer announced:
Below is the preliminary program for the 2007 Workshop on ML, which is 
co-located with ICFP 2007 and will take place on Friday, October 5. 
The early registration deadline is this Friday, September 7! 

We are pleased to have Didier Rémy as our invited speaker.  In 
addition, we are planning to conclude the workshop with a "5-Minute 
Madness" session, in which attendees can give brief impromptu talks on 
ML-related topics.  The proposed theme for this year's madness session 
is "Design Ideas for Next-Generation ML", but talks on other topics 
are welcome as well. 

If you are interested in giving a 5-Minute Madness talk, please send 
mail (with a brief mention of what you would like to talk about) to 
the program chair at  I hope to see you at the 

Derek Dreyer 


ML 2007 Website: 

Registration Website: 

Preliminary Program: 

    Welcome/Opening remarks 
    Derek Dreyer, Program Chair 

    Invited talk: MLF for Everyone (Users, Implementers, and Designers) 
    Didier Rémy 

    Coffee Break 

    Efficient ML Type Inference Using Ranked Type Variables 
    George Kuan and David MacQueen 

    Status Report: The Manticore Project 
    Matthew Fluet, Nic Ford, Mike Rainey, John Reppy, Adam Shaw and Yingqi Xiao 

    Status Report: HOT Pickles, and How to Serve Them 
    Andreas Rossberg, Guido Tack and Leif Kornstaedt 

    A Persistent Union-Find Data Structure 
    Sylvain Conchon and Jean-Christophe Filliatre 

    Lunch Break 

    Status Report: Specifying JavaScript with ML 
    David Herman and Cormac Flanagan 

    Status Report: Layered Streaming XML Processing with Modules 
    Tyng-Ruey Chuang and Max Schaefer 

    Status Report: Marionnet -- How to Implement a Virtual Network 
Laboratory in Six Months and Be Happy 
    Jean-Vincent Loddo and Luca Saiu 

    Coffee Break 

    Generics for the Working ML'er 
    Vesa Karvonen 

    Practical Generic Programming in OCaml 
    Jeremy Yallop 

    5-Minute Madness: Design Ideas for Next-Generation ML

Barista project


Xavier Clerc announced:
This post announces the first public release of the Barista project. 
Barista is both a library for Java class file construction and a Java 
Barista is released under the LGPL v3. 
Barista is part of the ocamljava project ( 

Home page: 

   - assembler / disassembler for Java 1.5 
   - reads / writes Java class files 

   - Objective Caml 3.10.0 or higher 
   - Camlzip 1.03 
   - Camomile 0.7.1

Cafesterol project


Xavier Clerc announced:
This post announces the first public release of the Cafesterol project. 
Cafesterol is released under the QPL v1. 
Cafesterol is part of the ocamljava project ( 

Home page: 

   - compiles Objective Caml sources into Java bytecode (version 1.5) 
   - supports the same sources as ocamlc/ocamlopt 
   - uses Cadmium for runtime support 

   - Objective Caml 3.10.0 or higher 
   - Barista 1.0-alpha or higher 
   - Cadmium 1.0-alpha or higher

Cadmium project


Xavier Clerc announced:
This post announces the first public release of the Cadmium project. 
Cadmium is a Java port of ocamlrun, with all standard primitives. 
Cadmium is released under the LGPL v3. 
Cadmium is part of the ocamljava project ( 

Home page: 

   - runs files compiled with ocamlc 
   - gives access to Java elements from Objective Caml 
   - runs Objective Caml bytecode from a Java program 
   - [cadmium-dbm subproject] implementation for Dbm module 
   - [cadmium-swixml subproject] bindings for SwiXml Java library 

   - Objective Caml 3.10.0 or higher 
   - Java 1.5 or higher

Nickel project


Xavier Clerc announced:
This post announces the first public release of the Nickel project. 
Nickel is a bindings/bridge generator for Objective Caml/Java. 
Nickel is released under the GPL v3. 
Nickel is part of the ocamljava project ( 

Home page: 

   - generates bindings to use Java classes from a Cadmium/Cafesterol   

   - Java 1.5 or higher

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