Previous week Up Next week


Here is the latest Caml Weekly News, for the week of April 17 to 24, 2012.

  1. Build OCaml iOS apps under Lion
  2. PEC ver. 1.1
  3. ERic release v0.2
  4. Boolean expression simplifier library
  5. Kendall tau in OCaml
  6. OCaml marine navigation iPad app
  8. ODT 2.2 released
  9. Other Caml News

Build OCaml iOS apps under Lion


Jeffrey Scofield announced:
I've created a new version of OCamlXARM, which is my name for a version
of the OCaml compiler that builds executables for iOS.  The new version
(1.0.15) works with Lion (OS X 10.7) and the latest Xcode (4.3.2).

A while back there were some queries about using OCamlXARM on Lion, and
I promised to get it working after our latest iOS app was released.  So,
the 1.0.15 release is what I promised.

Instructions for downloading a binary release of OCamlXARM, or building
it from source, and for testing, are at:

You can read about what I had to do to get it working on
Lion in my sporadic blog:

There were problems reported in using the old OCamlXARM with Lion.  I
haven't seen any of these problems with the latest OCamlXARM.  I built
all my test apps, and also rebuilt the real-world iOS apps that we sell.
They all worked with no problems that I could find.  (In particular,
our real-world apps do plenty of floating arithmetic, and it works.)

Please let me know of any comments or problems.  I'd especially
like to hear about bugs in OCamlXARM (so I can fix them).

PEC ver. 1.1


Satoshi Ogasawara announced, starting a long discussion on it vs React:
I'm please to announce release PEC version 1.1, a push-based event combinator 
which is helpful to write event driven systems with purely functional style.

PEC is similar to React library but there are some different points.

- PEC's update cycle is separated from sending events.
  You can send a value to event during update cycle.

- PEC doesn't hold any pointer(including weak one) to event until the
  event will be subscribed.

- All PEC's signal are switchable. 'switch' means you can replace dependency
  of a signal keeping signals depends on the signal unchanged.

You can see sample codes to use PEC.

ERic release v0.2


Damien Guichard announced:
I'm please to announce release ERic version 0.2a, a small/simple (may be
simplistic ?) graph-based knowledge database.
The interface is command-line only.


Author:          Damien Guichard.
Last modification:   18-Apr-2012
Version:                 0.2a
Licence:             EUPL 1.1
Development status:  Stable
Kind:            Application written in OCaml
Topic:           Databases

Boolean expression simplifier library


Markus W. Weißmann announced:
I'd like to announce the first public release of the 'boolean expression 
simplifier' library "bes".
It is an implementation of several algorithms for minimizing boolean 
expressions similar to the espresso solver [1] -- though in OCaml.
The source code is available on ocamlforge under the new bsd license:

It comes with a simple front-end program for reading and simplifying 
expressions in DFA from text files.
Students trying to verify their Karnaugh Veitch map solutions rejoice! ;)



Francois Berenger asked and Markus W. Weißmann replied:
> I'm curious, what is it used for?
> Is it for people doing proof checkers or things like this?

Like that, yes:
We successfully use it for reducing the size of programs we want to perform 
model checking on. My concrete target are industrial robot systems [1].

I even tried to integrate it into a compiler to reduce the size of 
right-hand-side boolean expression; unfortunately for small expressions the 
normalization (that occurs during minimization) often made the results less 
optimal than just some heuristic rewriting rules.

Generally speaking you would use it for optimizing the execution time of 
boolean expressions; I would guess that the biggest user base of similar 
implementations are electrical engineers designing circuit boards.




Kendall tau in OCaml


Francois Berenger asked and Alexy Khrabrov replied:
> Is there some Kendall tau implementation out there in OCaml?
> I'm looking for something with better complexity than N^2, if
> that's possible, as I have a lot of points...

I have a very efficient C implementation wrapped properly in OCaml here:

OCaml marine navigation iPad app


Jeffrey Scofield announced:
For those interested in OCaml in mobile environments, I wanted to
mention (or brag, maybe) that a second software house has released an
OCaml iOS app in the App Store:

SEAiq USA is an iPad app for navigating in the waters of the USA.  It
uses vector graphics, with LablGLES operations underneath.  I'm not a
sailor, but it looks really useful, especially if you have an iPad with
"True GPS".  It was fun to scale down from a planet-sized view to a small
beach a few blocks from my house.

I have no affiliation with this effort, other than helping a tiny bit a
couple of times by email.  As I understand it, the main offices of the
outfit are on a boat somewhere in Australia.

My website has details of the OCaml-on-iOS cross compiler and LablGLES
(OpenGL ES from OCaml).


Richard Jones announced:
I'm intending to let expire in about 3 days from now.  There
hasn't been a website on this domain for over a year.  If anyone wants
the domain to be assigned to them, let me know (or you can try to pick
it up when it expires).

ODT 2.2 released


Emmanuel Dieul announced:
This mail announces the new release of ODT: 2.2. 
ODT (OCaml Development Tools) is an Eclipse plug-in for OCaml.

More information on this release is available at

Don't hesitate to try ODT, even for fun. ODT can be installed as explained
into the install notes ( 
A tutorial and several screenshots are available on the ODT website.

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

One Web App = One Language:

Boolean Expression Simplifier

Using Heist (from the Snap Framework) for CMS functionality.:

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