Previous week Up Next week


Here is the latest Caml Weekly News, for the week of May 22 to 29, 2012.

  1. New release of tuareg mode
  2. Commercial Users of Functional Programming 2012: Call for Presentations
  3. mailing list
  4. Other Caml News

New release of tuareg mode

Christophe Troestler announced:
I am pleased to announce a new release of Tuareg mode:

It is recommended that you use the new SMIE based code by putting at
the toplevel (and NOT in the tuareg mode hook as I stated previously)
of your .emacs file

 (setq tuareg-use-smie t)

Please report any problem to the mailing list "tuareg-mode":

Commercial Users of Functional Programming 2012: Call for Presentations


Ashish Agarwal announced:
                             CUFP 2012
                       CALL FOR PRESENTATIONS
                        Copenhagen, Denmark
                             Sep 13-15
                     Co-located with ICFP 2012
                        Sponsored by SIGPLAN
           Talk Proposal Submission Deadline 29 June 2012

The annual CUFP workshop is a place where people can see how others
are using functional programming to solve real world problems; where
practitioners meet and collaborate; where language designers and users
can share ideas about the future of their favorite language; and where
one can learn practical techniques and approaches for putting
functional programming to work.

Giving a CUFP Talk

If you have experience using functional languages in a practical
setting, we invite you to submit a proposal to give a talk at the
workshop. We're looking for two kinds of talks:

Experience reports are typically 25 minutes long, and aim to inform
participants about how functional programming plays out in real-world
applications, focusing especially on lessons learned and insights
gained. Experience reports don't need to be highly technical;
reflections on the commercial, management, or software engineering
aspects are, if anything, more important.

Technical talks are also 25 minutes long, and should focus on teaching
the audience something about a particular technique or methodology,
from the point of view of someone who has seen it play out in
practice. These talks could cover anything from techniques for
building functional concurrent applications, to managing dynamic
reconfigurations, to design recipes for using types effectively in
large-scale applications. While these talks will often be based on a
particular language, they should be accessible to a broad range of

If you are interested in offering a talk, or nominating someone to do
so, send an e-mail to sperber(at)deinprogramm(dot)de or
avsm2(at)cl(dot)cam(dot)ac(dot)uk by 29 June 2012 with a short
description of what you'd like to talk about or what you think your
nominee should give a talk about. Such descriptions should be about
one page long.

There will be a short scribes report of the presentations and
discussions but not of the details of individual talks, as the meeting
is intended to be more a discussion forum than a technical
interchange. You do not need to submit a paper, just a proposal for
your talk!

Program Committee

   Mike Sperber (Active Group), co-chair
   Anil Madhavapeddy (University of Cambridge), co-chair
   Ashish Agarwal (New York University)
   Thomas Arts (QuviQ AB)
   Chris Houser (LonoCloud)
   Tomas Petricek (University of Cambridge)
   Heiko Seeberger (Typesafe)
   Stefan Wehr (factis research)
   Noel Welsh (untyped)

More information

For more information on CUFP, including videos of presentations from
previous years, take a look at the CUFP website at Note that presenters, like other attendees, will need
to register for the event. Presentations will be video taped and
presenters will be expected to sign an ACM copyright release
form. Acceptance and rejection letters will be sent out by July 16th.

Guidance on giving a great CUFP talk

Focus on the interesting bits: Think about what will distinguish your
talk, and what will engage the audience, and focus there. There are a
number of places to look for those interesting bits.

   Setting: FP is pretty well established in some areas, including
   formal verification, financial processing and server-side
   web-services. An unusual setting can be a source of interest. If
   you're deploying FP-based mobile UIs or building servers on oil
   rigs, then the challenges of that scenario are worth focusing
   on. Did FP help or hinder in adapting to the setting?

   Technology: The CUFP audience is hungry to learn about how FP
   techniques work in practice. What design patterns have you
   applied, and to what areas? Did you use functional reactive
   programming for user interfaces, or DSLs for playing chess, or
   fault-tolerant actors for large scale geological data processing?
   Teach us something about the techniques you used, and why we
   should consider using them ourselves.

   Getting things done: How did you deal with large software
   development in the absence of a myriad of pre-existing support
   that are often expected in larger commercial environments (IDEs,
   coverage tools, debuggers, profilers) and without larger, proven
   bodies of libraries? Did you hit any brick walls that required
   support from the community?

   Don't just be a cheerleader: It's easy to write a rah-rah talk
   about how well FP worked for you, but CUFP is more interesting
   when the talks also spend time on what doesn't work. Even when the
   results were all great, you should spend more time on the
   challenges along the way than on the parts that went smoothly. mailing list


Edgar Friendly announced:
Francois Berenger has been kind enough to set up a google group for users of[1], a simple package installer for OCaml. If you're using odb or would
like some help with it, you can subscribe to the group at:

If you don't know what odb is, it could be compared to GODI, but is much
simpler. It doesn't bootstrap itself, and assumes OCaml and findlib are
already installed. It has no configuration and requires no installation, just
download and run a single .ml file. It integrates with an existing ocaml
install and works nicely with non-root installations of OCaml. It gets package
metadata (where packages are located, dependencies, etc.) from oasis-db[2],
from a local or remote package file [3] or, in the simplest case, by being
given the URL (or path) to a tarball on the command line. Package files can
also be used as the instructions for what to install, for example, Jane Street
Core library 108.00 (and all its dependencies) can be installed using the
single command[4]:

ocaml --package 

If you'd like your software to be installable with Odb, the easiest way is to
use oasis to generate your build system and upload your package to
oasis-db. For legacy packages, OMake and autoconf/make are also supported
under some assumptions[5] that usually hold.

If you have any questions or comments, the best place for them is now the
google group, although you can find me as thelema on #ocaml AT most of the time.


[2] (ignore the scary alpha warnings on
the site)
[4] Ok, not really, you have to either use --sudo or --have-perms to install
in the system-wide findlib site-lib, or do one of the following two commands
so that OCaml can find the c stubs:

1) echo $HOME/.odb/lib/stublibs | sudo tee -a `ocamlc -where`/ld.conf
2) export CAML_LD_LIBRARY_PATH=$HOME/.odb/lib/stublibs


Other Caml News

From the ocamlcore planet blog:
Thanks to Alp Mestan, we now include in the Caml Weekly News the links to the
recent posts from the ocamlcore planet blog at

Opa License Change: Not just AGPL anymore:

Students at Gallium:

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