• en

OCaml Planet

The OCaml Planet aggregates various blogs from the OCaml community. If you would like to be added, read the Planet syndication HOWTO.

932 blog posts are available. You can read the 30 more recent ones below or view older ones.

AFL merged! — OCaml Labs, Dec 08, 2016

AFL has been merged into OCaml trunk! Take care of all of your fuzzing needs and improve the functional coverage of your code by using ocaml-afl-persistent.

Coq 8.6 rc 1 is out — Coq, Dec 08, 2016

The first release candidate of Coq 8.6 is available for testing. Coq 8.6 includes:
  • A new, faster state-of-the-art universe constraint checker by Jacques-Henri Jourdan.
  • In CoqIDE and other asynchronous interfaces, more fine-grained asynchronous processing and error reporting by Enrico Tassi, making Coq capable of recovering from errors and continuing to process the document.
  • Better access to the proof engine features from Ltac: goal management primitives, range selectors and a typec…

OASIS v0.4.8 release — OCamlCore Forge News (Sylvain Le Gall), Dec 06, 2016

Read the full blog post here: http://le-gall.net/sylvain+violaine/blog/index.php?post/2016/12/06/Release-of-OASIS-0.4.8

Weekly News — OCaml Weekly News, Dec 06, 2016

  1. llpp v25
  2. ocaml-vdom (pre-release)
  3. Android/iOS apps with OCaml
  4. Next OUPS meetup, Dec. 6th 2016
  5. Base, Stdio and Jbuilder 0.1.alpha1
  6. Other OCaml News

The Silicon 20161101 release of Frama-C is available. — Frama-C, Dec 01, 2016

Full Time: Software Developer (Functional Programming) at Jane Street in New York, NY; London, UK; Hong Kong — GitHub Jobs, Dec 01, 2016

Software Developer

Jane Street is a proprietary quantitative trading firm, focusing primarily on trading equities and equity derivatives. We use innovative technology, a scientific approach, and a deep understanding of markets to stay successful in our highly competitive field. We operate around the clock and around the globe, employing over 400 people in offices in New York, London and Hong Kong.

The markets in which we trade change rapidly, but our intellectual approach changes faster still…


Back End Functional Developer at NYU (Full-time) — Functional Jobs (FunctionalJobs.com), Nov 29, 2016

Position Summary

The Databrary project is looking for a smart, energetic and flexible back end developer to join its technical team. The developer will act as the primary owner of the code base of our service. Working closely with the managing director and the service team, the developer will design, develop and maintain tools to enable behavioral researchers to collaborate, store, discover, explore and access video-based research datasets. (S)he will maintain an existing code base and build ne…


Weekly News — OCaml Weekly News, Nov 29, 2016

  1. Uucd 4.0.0, Uucp 2.0.0, Uunf 2.0.0, Uuseg 1.0.0, Uutf 1.0.0
  2. Empty polymorphic variant set
  3. Compressing stream in Async.Tcp.Server
  4. OCaml version 4.04.0 is released.
  5. Camlp5 6.17 released (and moved to github)
  6. Other OCaml News

Unicode 9.0.0 refresh — Daniel Bünzli, Nov 23, 2016

Uucd, Uucp, Uunf, Uuseg and Uutf were all refreshed for Unicode 9.0.0. They also support the new Uchar.t type introduced in OCaml 4.03 and compile with safe string. Find about them on the software page.

OCaml EFL 1.18.0 released — OCamlCore Forge News (Alexis Bernadet), Nov 22, 2016

Major changes: - moved to version 1.18 of the EFL - for the abstract C values, custom blocks are now used instead of raw pointers Like the previous version, only version 1.8 and higher of the EFL and Elementary are required to build this version of OCaml EFL.

Weekly News — OCaml Weekly News, Nov 22, 2016

  1. findlib-1.7.0
  2. Merlin 2.5.2 with OCaml 4.04.0 support
  3. llpp v23
  4. Other OCaml News

Release of Alt-Ergo 1.30 with experimental support for models generation — OCamlPro, Nov 21, 2016

We have recently released a new (public up-to-date) version of Alt-Ergo. We focus in this article on its main new feature: experimental support for models generation. This work has been done with Frédéric Lang, an intern at OCamlPro from February to July 2016.

The idea behind models generation

The idea behind this feature is the following: when Alt-Ergo fails to prove the validity of a given formula F, it tries to compute and exhibit values for the terms of the problem that make the negation o…


opam-lib 1.3 available — OCaml Platform (Louis Gesbert), Nov 21, 2016

opam-lib 1.3

The package for opam-lib version 1.3 has just been released in the official opam repository. There is no release of opam with version 1.3, but this is an intermediate version of the library that retains compatibility of the file formats with 1.2.2.

The purpose of this release is twofold:

  • provide some fixes and enhancements over opam-lib 1.2.2. For example, 1.3 has an enhanced lint function
  • be a step towards migration to opam-lib 2.0.

This version is compatible with the …


OCaml 4.04, RISC-V, S/390, POWER and more … — Richard Jones, Nov 19, 2016

I pushed OCaml 4.04.0 to Fedora Rawhide last week. There are loads of new features for OCaml users, but the ones that particularly affect Fedora are:

  • New, upstream POWER (ppc64, ppc64le) backend, replacing the downstream one that we have maintained for a few years. I was quite apprehensive about this change because I had tried the new backend during the OCaml 4.03 release cycle and found it to be quite unstable. However the latest version looks rock solid and has no problem compiling the en…

Coq 8.6 beta 1 is out — Coq, Nov 19, 2016

The first beta release of Coq 8.6 is available for testing. Coq 8.6 includes:
  • A new, faster state-of-the-art universe constraint checker by Jacques-Henri Jourdan.
  • In CoqIDE and other asynchronous interfaces, more fine-grained asynchronous processing and error reporting by Enrico Tassi, making Coq capable of recovering from errors and continuing to process the document.
  • Better access to the proof engine features from Ltac: goal management primitives, range selectors and a typeclasse…

Merlin 2.5.1 Released — OCaml Labs, Nov 18, 2016

The new release of Merlin is now available on OPAM.

It can be installed with opam install merlin or built from sources, available at from the repository.

Changes in version 2.5.1

  • Improved handling of case sensitivity on macOS.
  • Gerd Stolpmann contributed support for customizing findlib package directories. This is achieved by the FINDLIB_PATH directive in .merlin (it corresponds to the path variable in findlib.conf, and OCAMLPATH environment variable for ocamlfind).
  • For convenience with Buck…

Weekly News — OCaml Weekly News, Nov 15, 2016

  1. The fastest stream library
  2. RISC-V native backend, no longer cross-compiling
  3. Bucklescript 1.3.0 - A blazing fast build tool on all platforms
  4. Other OCaml News

Visiting Researchers — OCaml Labs, Nov 15, 2016

We are always excited to host interns and visitors to the lab, and we have some new and familiar faces with us this term.

Olivier Nicole: After a very successful few months in the lab over the summer, and providing invaluable help at OCaml Workshop and ICFP, Olivier is back in the lab to continue work on his Macros implementation.

Maxime Lesourd: Maxime finished his Masters in Theoretical Computer Science at ENS de Lyon, and is here for 5 months to continue the previous work started by Armael o…


OCaml Hack Event: Activity Summaries — OCaml Labs, Nov 10, 2016

OCaml Labs held the fifteenth compiler hack event on 9th November at Pembroke College with over 20 people in attendance. We opened it up to MirageOS users and developers ahead of the upcoming 3.0 release and welcomed a varied group of students and developers from a huge range of organisations. See the summaries and attendance list here.

A solution to the ppx versioning problem — Jane Street (Jeremie Dimino), Nov 08, 2016

Ppx is a preprocessing system for OCaml where one maps over the OCaml abstract syntax tree (AST) to interpret some special syntax fragments to generate code.

Ppx rewriters get to work on the same AST definition as the compiler, which has many advantages:

  • The AST corresponds (almost) exactly to the OCaml language. This is not completely true as the AST can represent programs that you can't write, but it's quite close.

  • Given that the compiler and pre-processor agree on the data-type, they can …


Weekly News — OCaml Weekly News, Nov 08, 2016

  1. OCaml version 4.04.0 is released.
  2. RISC-V native backend, no longer cross-compiling
  3. The fastest stream library
  4. Other OCaml News

OCaml 4.04 Released! — OCaml Labs, Nov 07, 2016

The newest version of OCaml 4.04.0 is here!

Main features

A major addition to this release is Spacetime: a new memory profiler. It records how your program executes so it can reliably tell you the full stack backtrace at every point in the program that caused an allocation.

See the main announcement and details of changes.

This is the first of the new OCaml releases that will be every 6 months, as planned by Damien Doliguez at the OCaml Workshop 2016. OCaml 4.05.0 will be feature-frozen on 1st…


Exfiltrating log data using syslog — Hannes Mehnert (hannes), Nov 05, 2016

It has been a while since my last entry... I've been busy working on too many projects in parallel, and was also travelling on several continents. I hope to get back to a biweekly cycle.

What is syslog?

According to Wikipedia, syslog is a standard for message logging. Syslog permits separation of the software which generates, stores, reports, and analyses the message. A syslog message contains at least a timestamp, a facility, and a severity. It was initially specified in RFC 3164, th…


OCaml 4.04.0 released — Caml INRIA, Nov 04, 2016

Fifteenth OCaml compiler hacking evening at Pembroke — OCaml Labs compiler hacking, Nov 01, 2016

​Our Autumn Compiler Hacking event will be held at Pembroke College! We are also inviting MirageOS users and devs to prepare for Mirage 3.0.

If you're planning to come along, it'd be helpful if you could indicate interest via Doodle and sign up to the mailing list to receive updates.

Where_: N7 Pembroke College

N7 is through the second arch and on the left.

When: 630pm, Wednesday 9th November

Who: anyone interested in improving OCaml. Knowledge of OCaml prog…


Weekly News — OCaml Weekly News, Nov 01, 2016

  1. Docker is hiring in Paris
  2. ocamlbuild 0.9.3
  3. Functor signature "inheritance"
  4. Lwt 2.6.0 – monadic concurrency library
  5. omake-0.10.1
  6. batteries 2.5.3 -- compatible with OCaml 4.04
  7. Mandelbrot fractal
  8. Other OCaml News

Implementing type-classes as OCaml modules — Shayne Fletcher, Oct 29, 2016

Implementing type-classes as OCaml modules

Modular type classes

We revisit the idea of type-classes first explored in this post. This time though, the implementation technique will be by via OCaml modules inspired by the paper "Modular Type Classes" [2] by Harper et. al.

Starting with the basics, consider the class of types whose values can be compared for equality. Call this type-class Eq. We represent the class as a module…


Software Engineer (Haskell/Clojure) at Capital Match (Full-time) — Functional Jobs (FunctionalJobs.com), Oct 28, 2016


CAPITAL MATCH is a leading marketplace lending and invoice financing platform in Singapore. Our in-house platform, mostly developed in Haskell, has in the last year seen more than USD 15 million business loans processed with a strong monthly growth (current rate of USD 1.5-2.5 million monthly). We are also eyeing expansion into new geographies and product categories. Very exciting times!

We have just secured another funding round to build a world-class technology as the key business d…


Observations of a functional programmer — Jane Street (Yaron Minsky), Oct 27, 2016

I was recently invited to do the keynote at the Commercial Users of Functional Programming workshop, a 15-year-old gathering which is attached to ICFP, the primary academic functional programming conference.

You can watch the whole video here, but it's a bit on the long side, so I thought an index might be useful. (Also, because of my rather minimal use of slides, this is closer to a podcast than a video...)

Anyway, here are the sections:


Coq 8.5pl3 is out — Coq, Oct 27, 2016

Version 8.5pl3 of Coq is available. It fixes several bugs of version 8.5pl2, including one critical bug. More information can be found in the CHANGES file. Feedback and bug reports are extremely welcome.

View older blog posts.