OCaml Meeting in Grenoble

February 4, 2009

Today I went to the Ocaml Meeting in Grenoble.

It began in the morning, but I was busy with some of my usual student-poking (several variables calculus hurts).

The first talk was David Teller, about “OCaml Batteries Included”, which seem to have gone a long way towards being both working and useful — though it doesn’t look 100% there yet. The previous sentence is a bit too pessimistic and cold : I’m pretty excited by what was explained, and it definitely looks very promising.

The second talk was Christophe Troestler about “Delimited overloading”, which may surprise some people, especially those who are used to writing “a + b” and not give it a second thought : in ocaml, you have to know “1 + 2″ is a sum of integers, but the sum of two floats will be like “1.0 +. 2.0″ (+ for integers, +. for floats). This can be pretty tedious sometimes so one of the goals of the project is to provide syntactic sugar — and more (things like automatically rewriting simply-written linear computations in an optimized and probably unreadable way).

Then Richard Jones made an impromptu talk about cross-compilation of ocaml programs for win32 on fedora, with NSIS installer. I would be interested to see what it gives on chimera projects (code mixing several languages).

After a short break, Sylvain Le Gall presented “OCaml as fast as C!”, which presented tips and tricks on having a good performance. It began with very general organization tricks, then went with more specific advices based on a recent work.

The last talk was Christophe Raffali on “Parsing technology for OCaml : from stream matching to dypgen”. He began with some simple BNF work (with the usual calculator example, explaining the different tools strengths and weaknesses. I must admit that at one point, he said “a reasonable C++ parser” — probably joking — but the shock of hearing those words together left me bewildered. He ended with an experience in parsing french grammar using dypgen… and impressive and a little crazy undertaking (if you wanted to somehow compare natural languages to computer languages, french would probably be like perl).

I had to go at the end of the last talk (unfortunately missing the spare-time-let’s-discuss part), since I had promised my wife I wouldn’t come home late. Of course, I didn’t find where I was supposed to take the bus at once and ended up coming home late anyway…