Previous week Up Next week


Here is the latest Caml Weekly News, for the week of October 02 to 09, 2012.

  1. OCaml 4.00.1 released
  2. Macaque 0.6
  3. Yypkg 1.6.0
  4. Camlp5 6.07 compatible with OCaml 4.00.1 released
  5. Mingw-builds 1.1 rc1
  6. Other Caml News

OCaml 4.00.1 released


Damien Doligez announced:
We have the pleasure of celebrating the birthdays of Denis Diderot
by announcing the release ofOCaml version 4.00.1.
This is mainly a bug-fix release, see the list of changes below.

It is available here:

This is released as source for the time being, but the binary
versions should be available soon.

We would like to take the opportunity to thank all the packagers
out there who make this easy to install for end users without

Happy hacking,

-- Damien Doligez for the OCaml team.

OCaml 4.00.1:

Bug fixes:
- PR#4019: better documentation of Str.matched_string
- PR#5111: ocamldoc, heading tags inside spans tags is illegal in html
- PR#5278: better error message when typing "make"
- PR#5468: ocamlbuild should preserve order of parametric tags
- PR#5563: harden against file descriptors above FD_SETSIZE
- PR#5690: "ocamldoc ... -text README" raises exception
- PR#5700: crash with native-code stack backtraces under MacOS 10.8 x86-64
- PR#5707: AMD64 code generator: do not use r10 and r11 for parameter passing,
as these registers can be destroyed by the dynamic loader
- PR#5712: some documentation problems
- PR#5715: configuring with -no-shared-libs breaks under cygwin
- PR#5718: false positive on 'unused constructor' warning
- PR#5719: ocamlyacc generates code that is not warning 33-compliant
- PR#5725: ocamldoc output of preformatted code
- PR#5727: emacs caml-mode indents shebang line in toplevel scripts
- PR#5729: tools/ creates unary Pexp_tuple
- PR#5731: instruction scheduling forgot to account for destroyed registers
- PR#5735: %apply and %revapply not first class citizens
- PR#5738: first class module patterns not handled by ocamldep
- PR#5742: missing bound checks in Array.sub
- PR#5744: ocamldoc error on "val virtual"
- PR#5757: GC compaction bug (crash)
- PR#5758: Compiler bug when matching on floats
- PR#5761: Incorrect bigarray custom block size
Hezekiah M. Carty then said:
Thank you for the new release! For anyone looking to build the new
release from source, ocamlbrew has been updated to install OCaml
4.00.1 by default:

To give it a try with the default components (OCaml, findlib,,
oasis, utop, ocamlscript) run the following in a terminal:

curl -kL |

That will build and install everything under $HOME/ocamlbrew. See and at the link above for build requirements and
other configuration examples.
Jonathan Protzenko also said:
The self-installer has been updated, it is available at As usual, if you want to
help improve the installer script for Windows, I'll gladly accept any

Macaque 0.6


Gabriel Scherer announced:
Macaque is the result of a student project aiming to develop a
type-safe and composable way to interact with SQL databases from
OCaml. We propose a form of "comprehension syntax" that allow to
modularily create queries in a strongly-typed and relatively
principled way.

## Release 0.6

After a few years of mild continuous development, people have
requested at several occasions that release be made. I therefore tag
the current state of Macaque as "0.6".

You can get an archive from the forge:

You can also get the new version from darcs:
darcs get --tag 0.6

Thanks to everyone I have interacted with during this development;
thanks to Vincent Balat and Anastasia Gornostaeva for their feedback.
Thanks in particular to Jacques-Pascal Deplaix for his frequent
feedback and occasional suggestions and contributions.

## More Details

Macaque was initially developed at the PPS lab in Paris, under the
supervision of Jérôme Vouillon. The current development mode could be
described as "coinductive": things get done in reaction to user
requests or needs.

The technical limitations of Macaque are the following:

- It only support PostGreSQL (from lack of time to develop
other backends).

- Each feature of the SQL language must be considered and added
separately, with the right typing; this aspect makes it structurally
less complete than direct (but less composable) embedding of full SQL
queries like the parent project PG'OCaml does, so the subset of SQL
supported by Macaque is smaller -- but you can help extending it!

- You have to learn the comprehension-like syntax used by Macaque (it
should be possible to write a frontend using the SQL syntax, but this
hasn't been done yet).

- The documentation *does* exist, but is not very good. It's the
README that you can see at
and patches to improve it are welcome

The version number below 1.0 highlights that Macaque is still an
evolving project with no strong production-readiness guarantees, yet a
number substantially higher than 0.1 indicates that it has seen
several users and probably fixed the most glaring issues with the
current feature set.

(I would have initially chosen 0.3 or 0.7 as a version number. Like
most people. '6' is an oft-overlooked number, a factorial and the
product of the two first prime numbers. Go 6 and 8!)

Yypkg 1.6.0


Adrien Nader announced:
I'm happy to announce the release of Yypkg 1.6.

Yypkg is a small, fast, platform-agnostic package manager. It can be
used to manage any directory. It is built to help cross-compilation
setups and works both for and on Windows.

Functionality changes:
- sherpa, a higher-level tool which can download packages from a
mirror and handles dependencies, is now working and tested again
- sherpa_gen, a companion tool to generate databases which sherpa
understands is shorter and faster and able to output the list of
packages as an HTML page

Yypkg is hosted on the OCaml forge at:

It can be download from:

Camlp5 6.07 compatible with OCaml 4.00.1 released


Daniel de Rauglaudre announced:
Camlp5 6.07, compatible with OCaml 4.00.1 has been released.
Camlp5 is a syntactic preprocessor for OCaml.
Like Camlp4 except that it works and is fast.

Download at:

Mingw-builds 1.1 rc1


Adrien Nader announced:
I'm happy to announce the release of mingw-builds 1.1 rc1 (1.0 "stable"
has been skipped).

Mingw-builds is a build environment for windows with all the benefits of
using a package manager.

The website for the current version, along with documentation and
installation information is at:

This release uses the new 1.6.1 version of yypkg which includes the
"sherpa" companion tool and uses its concept of "repository": a set of
packages that is hosted on a web server, with dependency information.

The next step will concentrate on the native windows 32bit toolchain
(i.e. running on windows) and Qt with a target for early november and
the one after will include work for OCaml.

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

two simple tips to speed up ocaml compilation:

Godi for Windows:

JavaLib and Sawja 2.2.2/1.4:

Camlp5 6.07:

Macaque 0.6 released:

yypkg 1.6 released:

OCaml 4.00.1 released:

Am I a constructive mathematician?:

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