Previous week Up Next week


Here is the latest OCaml Weekly News, for the week of September 13 to 20, 2016.

  1. type-safe printf
  2. Call for Contributions: BOB 2017 - Berlin, Feb 24, 2017
  3. Enhanced OCaml Documentation 4.03

type-safe printf


Андрей Бергман asked:
is there a good article or just short explanation how compile-type checking of
Printf arguments works?

Does it require special compiler support like in C++ compilers/analyzers, or one
can somehow do the trick of parsing string literal using Ocaml language itself?
(actually latter does not look possible to me)
David Allsopp replied:
It does require a certain amount of special support, yes - see the
Pexp_constant(Pconst_string _) case in typing/, in particular the
comment "Terrible hack for format strings"! In essence, a string is "magically"
interpreted as a format string if it is used in a context where one would be
expected (e.g. the usual Printf.printf). It's one of the reasons
Pervasives.format_of_string exists (because they're type- rather than

From that point onwards, it's a lot of GADTs, but doesn't require any special
language support!

If you were adding Printf to OCaml for the first time now, you'd probably use
quoted string literals instead (see - and the
entire thing would then be in OCaml with no special case hacks.
Mario Pereira also replied then Maxime Dénès suggested:
> You can do it using GADTs. However, I am not sure if this is explained
> somewhere.

Some ideas are described here:
Kakadu also replied:
Functional unparsing by Olivier Danvy can be related article.
Daniel Bünzli then added:
That's a good reference. You may also want to have a look at Gabriel Radanne's
recent blog post here:

which will show you how to do the same with GADTs, which is a bit more
Oleg also replied to Kakadu:
Well, in that vein one can point out

        Functional un|unparsing

which deals with both type-safe printf and scanf (and, moreover, using
exactly the same format for both printing and parsing) and derives even
more type-safe parsing/unparsing methods.

Call for Contributions: BOB 2017 - Berlin, Feb 24, 2017


Michael Sperber announced:
BOB has a heavy emphasis on functional programming, so OCaml talks are
very welcome!

			 BOB Conference 2017
	 "What happens when we use what's best for a change?"
			 Berlin, February 24
			Call for Contributions
		      Deadline: October 30, 2016

You are actively engaged in advanced software engineering methods,
implement ambitious architectures and are open to cutting-edge
innovation? Attend this conference, meet people that share your goals,
and get to know the best software tools and technologies available
today. We strive to offer a day full of new experiences and
impressions that you can use to immediately improve your daily life as
a software developer.

If you share our vision and want to contribute, submit a proposal for
a talk or tutorial!


We are looking for talks about best-of-breed software technology, e.g.:

- functional programming
- persistent data structures and databases
- types
- formal methods for correctness and robustness
- abstractions for concurrency and parallelism
- metaprogramming
- probabilistic programming
- ... everything really that isn’t mainstream, but you think should be.

Presenters should provide the audience with information that is
practically useful for software developers.

This time, we’re especially interested in experience reports. But this
could also take other forms, e.g.:

- introductory talks on technical background
- overviews of a given field
- demos and how-tos


We accept proposals for presentations of 45 minutes (40 minutes talk +
5 minutes questions), as well as 90 minute tutorials for
beginners. The language of presentation should be either English or

Your proposal should include (in your presentation language of choice):

- an abstract of max. 1500 characters.
- a short bio/cv
- contact information (including at least email address)
- a list of 3-5 concrete ideas of how your work can be applied in a developer’s daily life
-additional material (websites, blogs, slides, videos of past presentations, …)

Submit here:


- direct questions to bobkonf at active minus group dot de
- proposal deadline: October 30, 2016
- notification: November 15, 2016
- program: December 1, 2016

NOTE: The conference fee will be waived for presenters, but travel
expenses will not be covered.

Speaker Grants

BOB has Speaker Grants available to support speakers from groups
under-represented in technology. We specifically seek women speakers
and speakers who are not be able to attend the conference for
financial reasons. Details are here:


The program committee offers shepherding to all speakers. Shepherding
provides speakers assistance with preparing their sessions, as well as
a review of the talk slides.

Program Committee

(more information here:

- Matthias Fischmann, zerobuzz UG
- Matthias Neubauer, SICK AG
- Nicole Rauch, Softwareentwicklung und Entwicklungscoaching
- Michael Sperber, Active Group
- Stefan Wehr, factis research

Scientific Advisory Board

- Annette Bieniusa, TU Kaiserslautern
- Torsten Grust, Uni Tübingen
- Peter Thiemann, Uni Freiburg

Enhanced OCaml Documentation 4.03


Hendrik Tews announced:
I would like to announce

                 The Enhanced OCaml Documentation 
                          Version 4.03
   available via

This version of the OCaml manual enhances the original html
version in the following ways:

- Changes (wrt version 4.02) are tagged with icons and color 
- an additional appendix contains all grammar rules

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