BoFs 2010

This year, CUFP 2010 has a new feature to bring industry and academics together to promote real-world uses of functional programming.

Birds of a Feature (BoF) sessions are for our community to gather informally at CUFP and reach consensus on matters of importance. Any CUFP attendee can propose a BoF session, and grab one of the spare rooms in the evening slots below. Attendance in the evening is open to all.

BoF sessions facilitate ad-hoc discussions and provide a place to gather and start off the chat, before moving on during the evening to a local restaurant or pub.

The table below lists all the spare rooms and available times. To propose a BoF, please mail Anil Madhavapeddy ( with the following information:

  • Organiser contact name, email address and (optionally) cell phone number to get hold of you on the day.
  • Which room number and day you wish to book.
  • Number of attendees expected (so we can make sure room capacity).
  • If you are willing to sponsor the BoF with some beer and snacks, that would also be appreciated, and you can include the sponsor's name.

If you just wish to attend a session, please also email Anil Madhavapeddy ( and you will be added to the attendee list so we can more easily account for numbers. You don't have to do this though; feel free to show up on the day!

Date Time Room Capacity Organiser Title
Thu 30 Sep 6pm-8pm 1 50 Till Varoquaux Metaprogramming for OCaml
Thu 30 Sep 6pm-8pm 2 50 Bryan O'Sullivan, Johan Tibell Haskell in the Real World
Fri 1 Oct 6pm-8pm 1 40 Anton Lavrik Cross Language Serialisation
Fri 1 Oct 6pm-8pm 2 40 Sylvain Le Gall Demo of the OASIS OCaml packaging
Fri 1 Oct 6pm-8pm 3 40

note: the rooms are available from 1700 onwards, but the day's workshops and tutorials only end around 1745, so most BOFs are scheduled to start at 1800 onwards.


Metaprogramming for OCaml:

Organizer: Till Varoquaux, on Thu 30 September, 6pm-8pm, Room 1

Topic: Get together some of the many people who are thinking about meta-programming in OCaml. There are a bunch of different approaches at present:

  • camlp4, proponents including Nicolas Pouillard and Jake Donham
  • BER Metocaml, by Oleg, Jacques Carette and Walid Taha
  • An unnamed idea of having the toolchain keep track of annotations, that could be used by post-processing tools that directly manipulate the OCaml AST, proponents including Alain Frisch.

Confirmed attendees: Till Varoquaux, Anil Madhavapeddy, Yaron Minsky, Chung-chieh Shan, Oleg, Nicolas Pouillard, Thomas Gazagnaire, Sylvain Le Gall, Jacques Carette, Ashish Agarwal

Haskell in the Real World

Organizers: Bryan O'Sullivan and Johan Tibell, on Thu 30th September, 6pm-8pm, Room 2

Topic: where we as a community should be focusing our efforts over the coming year to continue to improve Haskell as a practical language for day-to-day hacking.

Subjects we expect to cover would include at least the following:

  • post-mortem crash analysis and debugging
  • improvements to the Cabal build system (e.g. parallel builds)
  • performance and documentation improvements for core libraries
  • plugging missing functionality holes in the family of packages on hackage

Confirmed attendees: Bryan O'Sullivan, Johan Tibell, Mark Lentczner, Anshul Malvi, Matthias Horn, Tim Sears

Cross Language Serialization

Organizer: Anton Lavrik, on Fri 1st October, 6pm-8pm, Room 1

Topic: a BOF session for discussing cross-language interoperability in general and cross-language data serialization in particular.

The ability for functional languages to inter-operate with other programming languages especially in heterogeneous and distributed environments is critical for their commercial applicability.

The situation with cross-system interoperability for FP has been constantly improving, however there are a lot of challenges and problems to be solved. Some problems are caused by the fact that FP languages usually offer a richer and sometimes incompatible data models compared to mainstream programming languages. Other problems exist due to small user communities.

There are several projects which are related to the proposed topic and which I'm aware of.

  • Martin Jambon's json-wheel/json-static for OCaml and its successor atd/biniou/yojson. It addresses OCaml-Java and OCaml-* interoperability via JSON.
  • Hydro -- OCaml implementation of ZeroC ICE RPC. Addresses interoperability between OCaml and languages supported by ZeroC ICE system.
  • Apache Thrift. Supports OCaml, Erlang, Haskel and a number of other languages.
  • Google Protocol Buffers. There are third-party implementations for Scala, Common Lisp, Haskel, Erlang (partial) and many other languages (officially supported are Python, C++, Java, Go).
  • Piqi. Addresses interoperability between OCaml, Erlang and languages supported by Google Protocol Buffers.

Confirmed attendees: Anton Lavrik, Martin Jambon, Thomas Gazagnaire, Anil Madhavapeddy, Mark Lentczner, Sylvain Le Gall, Matthias Horn, Ashish Agarwal

OASIS: a new packaging framework for OCaml

Organizer: Sylvain Le Gall, on Fri 1 October, 6pm-8pm, Room 2

Topic: Demonstration and discussion of the new OASIS packaging framework.