Previous week Up Next week


Here is the latest Caml Weekly News, for the week of November 19 to 26, 2013.

  1. New design is now live!
  2. extlib 1.6.0 released
  3. Other Caml News

New design is now live!


Amir Chaudhry announced:
As some of you may have noticed, the new site is now live!

The DNS may still be propagating so if hasn't updated for
you then try This post is in two parts: the first is
the announcement and the second is a call for content.

### New website design!

The new site represents a major milestone in the continuing growth of the
OCaml ecosystem. It's the culmination of a lot of volunteer work over the
last several months and I'd specifically like to thank Christophe, Ashish and
Philippe for their dedication (the commit logs speak volumes).

We began this journey just over 8 months ago with paper, pencils and a lot of
ideas. This led to a comprehensive set of wireframes and walk-throughs of the
site [1], which then developed into a collection of Photoshop mockups [2].
In turn, these formed the basis for the html templates and style sheets,
which we've adapted to fit our needs across the site.

Alongside the design process, we also considered the kind of structure and
workflow we aspired to, both as maintainers and contributors. This led us to
develop completely new tools for Markdown and templating in OCaml [3, 4, 5],
which are now available in OPAM for the benefit all. Working on all these
things in parallel definitely had it challenges (which I'll write about
separately) but the result has been worth the effort.

The journey is ongoing and we still have many more improvements we hope to
make. The site you see today primarily improves upon the design, structure
and workflows but in time, we also intend to incorporate more information on
packages and documentation. With the new tooling, moving the website forward
will become much easier and I hope that more members of the community become
involved in the generation and curation of content. This brings me to the
second part of this post.

### Call for content

We have lots of great content on the website but there are parts that could
do with refreshing and gaps that could be filled. As a community driven
site, we need ongoing contributions to ensure that the site best reflects its

For example, if you do commercial work on OCaml then maybe you'd like to add
yourself to the support page [6]? Perhaps there are tutorials you can help to
complete, like 99 problems [7]? If you're not sure where to begin, there are
already a number of content issues you could contribute to [8].

Although we've gone through a bug-hunt already, feedback on the site is still
very welcome. You can either create an issue on the tracker (preferred), or
email the infrastructure list.

It's fantastic how far we've come and I look forward to the next phase!

Best wishes,


extlib 1.6.0 released


ygrek announced:
New release of extlib is out, featuring new functions, bugfixes and
new ocamlfind package extlib_min without potentially conflicting modules (notably
UChar UTF8 conflict with Camomile).

Get it as usual at or with `opam install extlib`.
Release notes for extlib-1.6.0 :
* Fix OCaml 4 Hashtbl compatibility
* Install additionally `extlib_min` with reduced set of modules (to mitigate linking conflicts)
* Build with debugging information by default
* Fix signature for `ExtList.iteri` and `OptParse.OptParser.error`
* Speed up `String.nsplit`
* New functions:
 * `String.find_from` (by Alexander Markov)
 * `IO.output_strings` (by Mehdi Dogguy)
 * `IO.read_float32` and `IO.write_float32` (by Philippe Strauss)
 * `IO.scanf` (by Warren Harris)
 * `UTF8.substring` (by Berke Durak)
 * ``
ygrek later added:
> * Install additionally `extlib_min` with reduced set of modules (to
>   mitigate linking conflicts)

After some more thought I don't really like this approach. See the
reasoning in

The new approach (implemented in svn) is to include offending modules
conditionally during extlib build time, so that extlib without UChar
module can be easily integrated into codebases that don't depend on
UChar, while others may take some time to amend the code. Basically the
decision is being retargeted from code developer to the end-user/admin.
Cursory research suggests that in opam there is one package using UTF8
module from extlib - namely javalib. So practically it means creating
two opam packages extlib and extlib_full and promoting the first. This
sounds better than having two ocamlfind packages, anyway.

What do you think?
ygrek finally said:
This has now gone final with extlib-1.6.1
The opam package names will be extlib (reduced) and extlib-compat (full)

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

Hugo-a-go-go: optimisation:

Coq source repository migrated to git:

Quick, dirty and shallow definitions:

Software Developer - Functional Programming at Genetec (Full-time):

Announcing the new

ocaml-mysql 1.1.2 released:

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