Previous week Up Next week


Here is the latest Caml Weekly News, for the week of May 31 to June 07, 2011.

  1. ICFP Programming Contest starting in two weeks
  2. Constrain module type to reuse a sum type
  3. OCaml cheat sheets
  4. OCaml web programming in San Francisco
  5. PhD Scholarships in Semantics, Analysis, Verification
  6. Other Caml News

ICFP Programming Contest starting in two weeks


Eijiro Sumii announced:
This is a reminder that the ICFP Programming Contest 2011 will be
starting in two weeks.  See:

Participants would need to prepare some virtual (or physical) machine
running Debian squeeze.  See:
 (You would only need an environment compatible with the guest, not
the host.  There exists various virtual machine software such as
VirtualBox and VMware Player.)

We look forward to your participation!

        ICFPC 2011 Oraganizers

Constrain module type to reuse a sum type


Dawid Toton asked and Jacques Garrigue replied:
> I have a functor F which itself applies its own arguments to some other 
> functors. Results R of these applications contain sum types. These R are 
> exposed in the outcome of F in two ways: as types carried by the functions 
> defined by F and all R packed into a wrapper module. I'd like to tell the 
> compiler that each sum type is equal in both contexts.
> The problem boils down to the following:
> module type A = sig type a = A end
> module A = struct type a = A end
> module E = A
> type want_equal = A.a as 'a constraint 'a = E.a
> B.mli:
> module type A = sig type a = A end
> module A : A
> module type E = A (*with type a = A.a*)
> module E : E
> type want_equal = A.a as 'a constraint 'a = E.a
> There are no problems with the module implementation. I can see right types 
> in the output of ocamlc -i .
> But the interface is wrong, since it is forgotten that the sum types in E 
> and A are the same.
> I have put a constraint in a comment - this is what I'm trying to achieve.

Your constraint (in comment) is the right one.
Unfortunately,  it was not allowed up to 3.12.0 (a full definition, including 
constructors, was required).
The upcoming 3.12.1 will allow it.

OCaml cheat sheets


Fabrice LE FESSANT announced:
  We have published some "cheat sheets" on OCaml on OCamlPro's website:

  These cheat sheets are supposed to help developers to learn and to use
OCaml by providing a condensed view of its documentation. Feel free to
use them, distribute them to your students, and to tell us how we could
improve them, what you think is important and should be added, etc.

OCaml web programming in San Francisco


William Le Ferrand announced:
Be Sport is a newborn, freshly funded company based in San
Francisco. We're designing the first platform that turns the sport
experience into a worldwide social game, providing a unique
opportunity to challenge peers and build a real sport networking

Our platform is almost entirely written in OCaml (using the Ocsigen
framework on the frontend, and a lot of magic in the backend :)).

We're looking for one or two OCaml enthusiasts to join our team in SF
and work on our scalable, resilient, space-rocket social graph engine,
as well as developing breathtaking interfaces by leveraging the
ocaml_to_js compiler and some fancy ocsigen 2.0 features.

If you ever dreamt of writing applications for millions of users and
if you are willing to join a dynamic team in San Francisco, let's get
in touch!

PhD Scholarships in Semantics, Analysis, Verification


Flemming Nielson announced:
We are looking for enthusiastic students with a strong background in
semantics, analysis and verification that would like to become part of
our Centre of Excellence and our Danish-Chinese Research

Candidates are expected to have a background within one or more of
- process calculi and automata
- logical formalisms
- static program analysis
- model checking
- prototype construction
- algorithms and datastructures.

A PhD Scholarship is for three years; you will be part of an
international research group whose dainly language is
English, you will be paid about 3300€ per month, and you would be
expected to spend up to half a year in a relevant research group
outside of Denmark.

If you are interested - please perform steps 1-7 listed on

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

Getting Things Typed: External Trusted Systems for Programming:

OCaml 1-page "cheat sheets":

OCI*ML: Support for RETURNING:

L-BFGS 0.5 released:

Programming PIC microcontrollers with Objective Caml:

ocaml-iteratees 0.3 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