• 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.

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

Release of Frama-C 23.1 (Vanadium) — Frama-C, Jul 21, 2021

Tarides at WomenHack Virtual Event — Tarides, Jul 20, 2021

Tarides takes great pride in a diverse workforce and strives to continue bringing talented people to its team from around the globe. This is why Sonja Heinze, a Tarides software engineer, and the Head of HR, Héloïse Lutton, will attend WomenHack, an online event dedicated to recruiting more women into the tech world. They're participating not only to present Tarides to the Women In Tech community, but to also network and possibly find new talented programmers to join our growing team.

The Wome…


Detecting identity functions in Flambda — OCamlPro, Jul 16, 2021

In some discussions among OCaml developers around the empty type (PR#9459), some people mused about the possibility of annotating functions with an attribute telling the compiler that the function should be trivial, and always return a value strictly equivalent to its argument.
Curious about the feasibility of implementing this feature, we advertised an internship with our compiler team aimed at exploring this subject.
We welcomed Léo Boitel during three months to work on this topic, with Vincen…


PlasmaFS — Gerd Stolpmann, Jul 15, 2021

A serious distributed filesystem

A few days ago, I released Plasma-0.4.1. This article gives an overview over the filesystem subsystem of it, which is actually the more important part. PlasmaFS differs in many points from popular distributed filesystems like HDFS. This starts from the beginning with the requirements analysis.

A distributed filesystem (DFS) allows it to store giant amounts of data. A high number of data nodes (computers with hard disks) can be attached to a…


After NoSQL there will be NoServer — Gerd Stolpmann, Jul 15, 2021

An experiment, and a vision

The recent success of NoSQL technologies has not only to do with the fact that it is taken advantage of distribution and replication, but even more with the "middleware effect" that these features became relatively easy to use. Now it is no longer required to be an expert for these cluster techniques in order to profit from them. Let's think a bit ahead: how could a platform look like that makes distributed programming even easier, and t…


Plasma Map/Reduce Slightly Faster Than Hadoop — Gerd Stolpmann, Jul 15, 2021

A performance test
Last week I spent some time running map/reduce jobs on Amazon EC2. In particular, I compared the performance of Plasma, my own map/reduce implementation, with Hadoop. I just wanted to know how much my implementation was behind the most popular map/reduce framework. However, the suprise was that Plasma turned out as slightly faster in this setup.
This article is also available in other languages:
translation by Anja Skrba from Webhost…

GODI is shutting down — Gerd Stolpmann, Jul 15, 2021

Unfortunately, it is no longer possible for me to run the GODI distribution. GODI will not upgrade to OCaml 4.01 once it is out, and it will shut down the public service in the course of September 2013.

This website, camlcity.org, will remain up, but with reduced content. Existing GODI installations can be continued to be used, but upgrades or bugfixes will not be available when GODI is off.

Although there are still a lot of GODI users, it is unavoidable to shut …


Welcome IPv6 — Gerd Stolpmann, Jul 15, 2021

camlcity.org now connected
For two weeks the camlcity.org website is fully connected to IPv6.

Actually, the raw connectivity exists already for more than two years, but I haven't found time to put the IP addresses into DNS. This is now done, making the site visible.

Around 1% of the traffic is now via IPv6. This is way more than I was expecting. Here in Germany, only a few Internet providers have already rolled out IPv6, but the major players are planning it for 2…


Immutable strings in OCaml-4.02 — Gerd Stolpmann, Jul 15, 2021

Why the concept is not good enough
In the upcoming release 4.02 of the OCaml programming language, the type string can be made immutable by a compiler switch. Although this won't be the default yet, this should be seen as the announcement of a quite disruptive change in the language. Eventually this will be the default in a future version. In this article I explain why I disagree with this particular plan, and which modifications would be better.

Of course, the fact …


WasiCaml: Translate OCaml Code to WebAssembly — Gerd Stolpmann, Jul 15, 2021

The portability story behind WasiCaml
For a recent project we wrote a compiler that translates a domain-specific language (DSL) to some runnable form, and we did that in OCaml. The DSL is now part of an Electron-based integrated development environment (IDE) that will soon be available from Remix Labs. Electron runs on a couple of operating systems, but the DSL compiler orginally did not. How do we accomplish it to run the DSL compiler on as many different opera…

Release of Frama-Clang 0.0.11 — Frama-C, Jul 13, 2021

Permanent Engineer/Researcher Position at CEA LIST - LSL — Frama-C, Jul 08, 2021

Release of Frama-C 23.0 (Vanadium) — Frama-C, Jul 06, 2021

Deploying binary MirageOS unikernels — Hannes Mehnert (hannes), Jun 30, 2021


MirageOS development focus has been a lot on tooling and the developer experience, but to accomplish our goal to "get MirageOS into production", we need to lower the barrier. This means for us to release binary unikernels. As described earlier, we received a grant for "Deploying MirageOS" from NGI Pointer to work on the required infrastructure. This is joint work with Reynir.

We provide at builds.robur.coop binary unikernel images (and supplementary software). Do…


Tarides Introduces OSMOSE at the Open-Source Innovation Sprint — Tarides, Jun 29, 2021

Tarides is excited to announce that our CEO, Dr. Thomas Gazagnaire, and Prof. Anil Madhavapeddy, from the University of Cambridge, will present their innovative platform OSMOSE at the Open Source Innovation Sprint (OSIS) conference on 1 July 2021. This event is organized by Systematic.

OSMOSE is a software platform made to manage digital infrastructure at scale, securely and efficiently. It uses the groundbreaking creation of unikernels to radically simplify the way applications are built and de…


Roadmap 2021 & New Landing Page — Reason Documentation Blog, Jun 25, 2021

Announcing our roadmap for 2021 / 2022, release cycle plans and new landing page.

The dawn of formalized mathematics — Andrej Bauer, Jun 23, 2021

Here are the slides of my talk "The dawn of formalized mathematics" from the 8th European Congress of Mathematics, which is taking place online and in Protorož, Slovenia, from June 20 to 26, 2021:

opam 2.1.0~rc2 released — OCaml Platform (David Allsopp), Jun 23, 2021

Feedback on this post is welcomed on Discuss!

The opam team has great pleasure in announcing opam 2.1.0~rc2!

The focus since beta4 has been preparing for a world with more than one released version of opam (i.e. 2.0.x and 2.1.x). The release candidate extends CLI versioning further and, under the hood, includes a big change to the opam root format which allows new versions of opam to indicate that the root may still be read by older versions of the opam libraries. A plugin compiled against the…


Looking for a developer experience engineer — Jane Street, Jun 15, 2021

The Jane Street Tools & Compilers team is looking to hire a developer who will act as the primary contact point with users of our tools throughout the firm.

Beta release of Frama-C 23.0~rc1 (Vanadium) — Frama-C, May 20, 2021

Building Ahrefs codebase with Melange — Ahrefs, May 18, 2021

Photo by Jens Lelie on Unsplash

At Ahrefs, we have been using BuckleScript and ReasonML in production for more than two years. We already have a codebase of tens of thousands of lines of code, with several web applications that are data intensive and communicate with backend services written in OCaml, using tools like atd.

Given our investment in these technologies, we have been following closely the recent changes in ReScript, with its rebrand and renaming, and the split with the ReasonML proje…


Computing an integer using a Grothendieck topos — Andrej Bauer (Martin Escardo), May 17, 2021

A while ago, my former student Chuangjie Xu and I computed an integer using a sheaf topos. For that purpose,

  1. we developed our mathematics constructively,
  2. we formalized our mathematics in Martin-Löf type theory, in Agda notation,
  3. we pressed a button, and
  4. after a few seconds we saw the integer we expected in front of us.

Well, it was a few seconds for the computer in steps (3)-(4), but three years for us in steps (1)-(2).

Why formalize?

Most people formalize mathematics (in Automa…


ReScript 9.1 — Reason Documentation Blog, May 07, 2021

Featuring a new npm package, a CLI revamp, polymorphic variant interop and object cleanup.

Tutorial: Format Module of OCaml — OCamlPro, May 06, 2021

The Format module of OCaml is an extremely powerful but unfortunately often poorly used module.

It combines two distinct elements:

  • pretty-print boxes
  • semantic tags

This tutorial aims to demystify much of this module and explain the range of things that you can do with it.

Read more (in French)

Tarides project SCoP is selected as one of the brightest Data Portability projects in Europe! — Tarides, Apr 30, 2021

Tarides is taking part in the Data Portability & Services Incubator (DAPSI), a 3-year EU funded project that empowers internet innovators to develop new solutions in the Data Portability field.

What is DAPSI?

The Data Portability and Services Incubator (DAPSI) is an EU funded project, under the European Commission’s Next Generation Internet (NGI) initiative. The aim of this initiave is to empower top internet innovators to develop human-centric solutions. DAPSI addresses the challenge of …


Alt-Ergo Users’ Club Annual Meeting (2021) — OCamlPro, Apr 29, 2021

The third annual meeting of the Alt-Ergo Users’ Club took place on April 1! Our annual meeting is the ideal place to review the needs of each partner regarding Alt-Ergo. We were pleased to welcome our partners to discuss the roadmap for future Alt-Ergo developments and improvements.

Alt-Ergo is an automatic prover of mathematical formulas, jointly developed by LRI and OCamlPro (since 2014). To learn more or join the Club, visit https://alt-ergo.ocamlpro.com.

Our Club has several goa…


Cryptography updates in OCaml and MirageOS — Hannes Mehnert (hannes), Apr 23, 2021


Tl;DR: mirage-crypto-ec, with x509 0.12.0, and tls 0.13.0, provide fast and secure elliptic curve support in OCaml and MirageOS - using the verified fiat-crypto stack (Coq to OCaml to executable which generates C code that is interfaced by OCaml). In x509, a long standing issue (countryName encoding), and archive (PKCS 12) format is now supported, in addition to EC keys. In tls, ECDH key exchanges are supported, and ECDSA and EdDSA certificates.

Elliptic curve cryptography

Since May…


New Try-Alt-Ergo — OCamlPro, Mar 29, 2021

Have you heard about our Try-Alt-Ergo website? Created in 2014 (see our blogpost), the first objective was to facilitate access to our performant SMT Solver Alt-Ergo. Try-Alt-Ergo allows you to write and run your problems in your browser without any server computation.

This playground website has been maintained by OCamlPro for many years, and it’s high time to bring it back to life with new updates. We are therefore pleased to announce the new version of the Try-Alt-Ergo website! In t…


TZComet's New Token Viewer — Sebastien Mondet, Mar 26, 2021

TZComet and CleanNFT Metadata: a generic token-viewer ☄ Also new domain tzcomet.io 🌠

Release of Frama-Clang 0.0.10 — Frama-C, Mar 08, 2021

View older blog posts.