Previous week Up Next week


Here is the latest Caml Weekly News, for the week of September 18 to 25, 2012.

  1. Call for collaboration on the future of camlp4
  2. OUD slides
  3. OCaml 4.00.0 for iOS Simulator is released
  4. Other Caml News

Call for collaboration on the future of camlp4


Bob Zhang said:
<Editor's note>This triggered a lively discussion. Please follow the
archive link above to read it all.</Editor's note>

Last week, I give a talk about the future of Camlp4 in the ML
workshop, the slides are here (some are already
done, some are work in progress).

For a long time, in the caml community, thanks to the talented work of
Daniel and Michel, we know there is a very very powerful tool called
*camlp4*, if there are some bolierpolate code you write here and
there, someone will tell you "hey, you can do it in camlp4" though he
may not know how to do it in camlp4.

But it's a bit embarassing that camlp4 did not evolve very well(partly
due to the fragmentation of camlp[4,5]), another fact is that camlp4
is not *designed*, it's like a prototype that works but not carefully
designed, and it does not provide anything out of the box and itself
was written in a verbose way.

It's time to bring the powerful tool back, my advisor Steve and I
started a new project Fan, which is mainly to evolve the camlp4 macro
system to be more expressive and more powerful, push the Camlp4 to the
next level. For me, I am a long-term Lisp programmer, I appreciated
the value of macros, I would really be happy to see we could make a
such powerful macro systems.

Here is my repo

I already finished some cool staff, to mention just a few:

1. A very robust bootstrapping system, previously it takes me 20
minutes to verify my patches to camlp4 can reach a fixpoint or not,
but now you can compile your modification within seconds, and reach a
fixpoint under 2 minutes, this accelerate the development cycles

2. Now you can customize your lexer now, previously it's impossible(
and a number of bug fixes) you can do deep anti-quotation like
:expr< <:expr< $($(deepantiquot)) >> >>

3. Linking the compiler and a number of cool features (see the slides)

4. A macro which write macros to scrap all the bolierpolate code for
generic programming, now you can customize your deriving stuff in ten
lines (previously thousands of lines of code to write camlp4 plugin)

5. A number of mini-DSLs and more to be expected

I love macros, I would commit to the project for a long time(probably
my Ph.D term), I promise that I would write the documentation to make
users happy( I am also writing a book about macros, it's un-readable
though). And I am really happy to co-laborate with anyone who love

Syntax matters, if you see that coffescript is now already a success,
camlp4 or Fan is actually more expressive than that, Dear ocaml
programmers, let us find a way to make ocaml more beautiful. I am also
open minded to any discussion about the future of camlp4

OUD slides


Philippe Veber asked and David House replied:
> as one of the poor souls that could not make it to this year's caml
> meeting, I'd like to know if the slides of the presentations will be
> available at some point. Thanks!

You can see all of the videos here:

As for slides themselves: the slides for the Async and debugging talks
will be up on the Jane Street website as soon as Mark remembers to
grab them off of his laptop...
Anil Madhavapeddy also replied:
I've linked all of the videos, abstracts and slides that are available at the
OUD website, at:

As speakers send me their slides, I will update the web page (this is
possibly slightly challenging from some talks such as David Scott's, which
was delivered as a self-hosted webserver using Mirage).

I've also got various scribe reports from attendees that I will collate into
a summary blog post next week, and mail out to the list.   

OCaml 4.00.0 for iOS Simulator is released


Jeffrey Scofield announced:
I just released a version of OCaml 4.00.0 that creates apps that run in
the iOS Simulator. I call it OCamlXSim for short.

You can download a binary release, or get instructions for bulding from

After you've gotten your app working in the simulator, you can compile
it for iOS and release it in the iOS App Store:

I also have a page of OCaml-on-iOS resources:

It's quite a bit easier to make OCaml work for the iOS Simulator than
for iOS because the i386 code generator works with no changes. The main
trick is convincing ocamlopt to be a cross compiler.

If you're interested in trying OCaml on iOS, starting with the simulator
is great because you don't need a device, and you don't need to register
as an iOS developer with Apple.

My next project will be to work on an armv6 version of the OCaml-to-iOS
compiler (which I call OCamlXARM).

I'm very happy to hear from anybody interested in this project
(or any similar ones).

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

Calcul avec OCaml 0.3:

Release 1.0.0:

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