Computer Laboratory

OCaml Labs

The OCaml Labs staff work on research activities, but also maintain code and help with community activities. This page lists recent activities ordered by date. Click on any of them to visit the project page and get more detail on what's going on. If you want to know more or help out, feel free to get in touch any time.

Feb 2013

Jan 2013

January's update is broken down into the three overall themes of OCaml Labs, specifically, Platform, Systems and Compiler projects with some additional points at the end. In general, there seems to be more interest than expected in the work we're doing and the number of collaborative projects is increasing. We need to do more work on the reporting structure but it would be useful to have some feedback on what you would find most useful. Please do get in touch if you have comments.

We held the first of the monthly meetings last Friday, in the Computer Lab.
Anil provided an overview of the research work that OCaml Labs is involved with and the updates are also described below. An interesting theme of the discussion that followed was related to undergraduate teaching and how things like the OCaml Platform and infrastructure would make it easier for students to get to grips with programming.

For the evening after the meeting, Amir set up an informal OCaml hacking/tutorial session in Cambridge. Around 15 eager people attended the event in Makespace (a community workshop), with most of them being new to the language. Anil introduced Real World OCaml and shared the introductory chapters while Thomas provided help with OPAM. This turned out to be a great test of the installation process for newcomers to OCaml, as well as the book's instructions. A number of issues came to light, partly related to a perfect storm of package issues, which everyone is keen to improve. Despite these problems, attendees were very positive and were keen to see more gatherings like this in future. When Amir asked for feedback, pretty much everyone commented on how great the pizza was.

Platform projects

OCaml Labs also hosted its first visitor this month.
Thomas Gazagnaire, lead developer of the popular OPAM package manager and CTO of OCamlPro, spent three weeks in Cambridge. Much effort was put into preparing Mirage for release, discussions about parallelism and the OCaml Platform. In fact, anything where OPAM is a crucial component. This was a great productivity boost and we look forward to future visits, both from Thomas and others. An item worth noting is that (at time of writing) the opam-repository has now become the overall most forked OCaml project on Github.
The Platform mailing list has also been formed for discussion regarding the OCaml Platform. Anyone interested in the discussions about the platform, which will include development on OPAM, should join this list.

Part of the Platform work involves creating a new design for, which also kicked-off this week.
Amir will keep people updated about progress via updates to the OCL website, Infrastructure mailing list and also by posting things to the Github wiki. The current stage of work involves thinking of the types of pages requires, in order to refine the templates we need. As part of this, we also commissioned a new logo for OCaml and although it's still under development, you can see the latest draft on the wiki. Please send any feedback directly to Amir.

The Real World OCaml book website was released as a limited alpha earlier in the month, with the aim of getting early feedback and comments. Each paragraph of the online book has commenting functionality, using Github issues as a backend. This means that each comment made on the book website creates a new issue on Github, which authors/commenters can track and discuss before editing the content. So far there have been over 250 comments on the alpha, with half them being dealt with already.

A new EU project also kicked-off, called Trilogy 2, which builds on the previous, award-winning work from the original Trilogy project. This is especially relevant for OCaml Labs as OnApp (a member of Trilogy 2), will be providing Cloud Infrastructure for We look forward to seeing this develop.

Systems research

Mirage was formally proposed as an incubated project and the proposal was put forward for community review. There were many positive comments on the Xen mailing lists (along the lines of "Mirage is cool stuff") and voting is currently underway by eligible members of the Xen community. Assuming a positive outcome, incubation would give the Mirage project greater visibility and access to resources. This would accelerate progress towards an alpha release in Q1/Q2 this year. In addition to this, a proposal for an OSCON talk was also submitted and the camera-ready version of the ASPLOS paper is now available.

A related research topic where Mirage could be useful is in embedded systems and the Internet of Things. One specific use case is the Illuminate Project, where Mirage can be used to create appliances running on the ARM microcontrollers alongside an LED lighting network. Such a lighting system is now deployed in large parts of the Computer Laboratory and will form an excellent test-bed to explore these ideas further.

Signpost is also achieving greater outreach with Jon Crowcroft discussing such technologies at a meeting in Dagstul on Decentralized Systems for Privacy Preservation.

Compiler projects

Several mailing lists are in progress for various community-driven projects. The first of these is a working group on the future of syntax extensions in OCaml, beyond camlp4 ( wg-camlp4). This group is chaired by Alain Frisch and Leo White and has generated a great deal of discussion in the last two weeks. Leo is summarising his thoughts in a series of blog posts as he goes.

Further working groups on parallelism in OCaml and build systems are under discussion and will be announced in due course.

One more thing ... (actually three)

As well as all the research and development activity we've also been recruiting. We've had several rounds of interviews and made a number of offers so hopefully we'll be announcing new members of the OCaml Labs team in the coming months. In addition, we'd also like to mention that Leo successfully defended his PhD Thesis in January. Finally, we'd like to welcome a new honorary member of OCaml Labs, Nathan Scott, born on 30th January. Congratulations Dave!

Dec 2012

OCaml Labs kicked-off with an internal meeting of the Cambridge-based members. There are over 20 people involved just within the building and over 30 including those outside the University. We welcomed a few new members, including Leo White (Postdoc), Raphael Proust (PhD student) and Stephen Dolan (PhD student). At this initial gathering Anil talked over some of the projects that were already taking place in the Lab, as well as the new work that would be supported by OCaml Labs.

Significant progress was made on the research side too. Mirage has had a flurry of new releases as we prepare for a first public release, and we're in the final stages of being officially incubated as a project. Signpost is also taking shape, mainly due to the addition of DNSSEC to the ocaml-dns implementation. There's been industrial interest in the applications of Signpost and the team is pursuing these for more use cases.

We also began work on a new website for the Real World OCaml. We took inspiration from our friends who wrote Real World Haskell, and the site will have commenting functionality so that people can suggest improvements before the book is finalised. As part of this, we also worked with a design firm to begin creating a new logo for the OCaml language. The logo will be placed into the public domain for use by anyone.

Last, but certainly not least, Ashish put the new website live, to much electronic applause. A great way to end 2012!

Nov 2012

OCaml Labs finally opened its doors with announcements from Yaron and Anil! Although much of the remainder of November was spent on administration and wiring up machines for the forthcoming test cluster, we also celebrated the acceptance of a paper on Mirage to ASPLOS 2013.

We also had a very productive visit from OCamlPro. Fabrice, Thomas and Pierre came over to discuss the new OPAM package manager and the plans for building an OCaml Platform in 2013. This was in preparation for the subsequent Consortium meeting of the industrial board of OCaml, where Anil was able to present (and get approved) an overview of what would become. You can see the slides of his talk online. An interesting thing to note is just how broad the set of OCaml language users are: right the way from formal methods, to systems projects, and even web developers.

Since the Consortium meeting, the infrastructure behind is being built out and there's already been helpful input via the infrastructure mailing list. A continuous build system has been put together for internal testing, with support from Citrix, and OPAM itself continues to mature and grow in popularity.

Oct 2012

Sep 2012

Aug 2012

Jul 2012

Jun 2012

Mar 2012

Feb 2012

Jan 2012

Aug 2011

Jan 2011

Nov 2010

Sep 2010

Mar 2010

Feb 2010