Previous week Up Next week


Here is the latest Caml Weekly News, for the week of January 05 to 12, 2010.

  1. OCaml jobs at MyLife
  2. OCaml Bitstring 2.0.2
  3. UseOcaml.cmake script
  4. Other Caml News

OCaml jobs at MyLife


Martin Jambon announced:
Our company, MyLife, is continuing to seek OCaml programmers to expand our
team in the Silicon Valley.

We develop back-end people search technologies and the vast majority of our
code is written in Objective Caml and runs on Linux.  We love that as it
provides us with an opportunity to tackle on big challenges with great
productivity.  We are now looking for talented and passionate people to share
the fun in Mountain View, California.

The primary requirements for the job are:

- proficiency in a functional programming language and eventually OCaml

- familiarity with Linux and shell scripting

- proficiency in written English, as much of our team communications are
written (brainstorms, bug reports, etc.)

- ability to understand end-user requirements and translate them into robust
software that gets the job done

The ideal candidate will have a good nose for hunting bugs, diagnosing
performance problems, and hacking his/her way through colleagues' code.

Please contact us at if you are interested or might be
interested in the future.

OCaml Bitstring 2.0.2


Richard Jones announced:
Bitstring is a syntax extension which adds Erlang-style bit matching
and construction to OCaml programs.  You can use this to efficiently
and safely parse communication protocols and binary file formats.

Bitstring handles integers, booleans, strings, sub-bitstrings, big-,
little- and native-endianness, signed and unsigned types,
variable-width fields, fields whose width depends on values in
previous fields, fields with arbitrary bit alignment, forward offsets,
when-clauses, checked expressions, security against buffer overflows
and DoS, and lots more.


 let bits = Bitstring.bitstring_of_file "image.gif" in
 bitmatch bits with
 | { ("GIF87a"|"GIF89a") : 6*8 : string; (* GIF magic. *)
     width : 16 : littleendian;
     height : 16 : littleendian } ->
     printf "%s: GIF image is %d x %d pixels" filename width height
 | { _ } ->
     eprintf "%s: Not a GIF image\n" filename

The latest version is 2.0.2 which fixes a number of compilation
problems related to OCaml 3.11, and incorporates some unofficial
patches which were floating around.  (Note that bitstring 2.0.0 is
known to be broken on Debian).

 Home page:
 API documentation:

UseOcaml.cmake script

Keyan announced:
i am not sure, if this is of interest here, but i give it a try. i use cmake
heavily to compile my projects, so i wrote a UseOcaml.cmake script, adapted
from UseLATEX.cmake, to do the job for me. it can be found here:

it is not complete yet, but it allows to easily compile ocaml-binaries in the
following way:

     OUTPUT    loc
     HEADERS   file_node.mli files.mli io.mli file_statistics.mli message_node.mli
     LIBRARIES unix.cmxa str.cmxa extLib.cmxa
     INCLUDES  /opt/local/lib/ocaml/site-lib/extlib

one current problem is that i cannot add multiple entries to the INCLUDES.

i am happy to receive comments.

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


Programming language internships in Paris, France:

OCaml Uint:

A new style for the blog:

Tutorial on exact real numbers in Coq:

The OPA type system, part 1:

Beta Testing with MacDeveloper:

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