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

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

Goodbye Core_kernel — Jane Street, Aug 26, 2021

We recently restructured our standard libraries at Jane Street in a way that eliminates the difference between Core_kernel and Core and we’re happy with the result. The new layout should reach the open source world before the end of the year.

Tarides Engineers to Present at ICFP 2021 — Tarides, Aug 26, 2021

This year marks the 25th anniversary of the OCaml Language! It's an exciting time for OCaml programmers and enthusiasts. A fun and informative way to celebrate OCaml's birthday is to attend the 26th Annual International Conference on Functional Programming (ICFP), held online this year due to ongoing Covid restrictions. While this is disappointing news for so many, it's beneficial to those of you outside France because now you can hear professionals talk about cutting edge technology from the co…

Read more...

Benchmarking OCaml projects with current-bench — Tarides, Aug 26, 2021

Regular CI systems are optimised for workloads that do not require stable performance over time. This makes them unsuitable for running performance benchmarks.

current-bench provides a predictable environment for performance benchmarks and a UI for analysing results over time. Similar to a CI system, it runs on pull requests and branches which allows performance to be analysed and compared. It can currently be enabled as an app on GitHub repositories with zero configuration. Several public repo…

Read more...

What the interns have wrought, 2021 edition — Jane Street, Aug 09, 2021

It’s the end of another dev internship season, and this one marked something of a transition, since halfway through the season, NY-based interns were invited back to the recently reinvigorated office. Which means that many more of us got the chance to meet and hang out with the interns in person than we did last year. And hopefully the interns were able to get a better sense of Jane Street and how it operates.

opam 2.1.0 is released! — OCamlPro, Aug 05, 2021

We are happy to announce the release of opam 2.1.0.

Many new features made it in (see the pre-release changelogs or release notes for the details), but here are a few highlights.

What’s new in opam 2.1?

  • Integration of system dependencies (formerly the opam-depext plugin), increasing their reliability as it integrates the solving step
  • Creation of lock files for reproducible installations (formerly the opam-lock plugin)
  • Switch invariants, replacing the “base packages”…
Read more...

opam 2.0.9 release — OCamlPro, Aug 05, 2021

Feedback on this post is welcomed on Discuss!

We are pleased to announce the minor release of opam 2.0.9.

This new version contains some back-ported fixes.

New features

  • Back-ported ability to load upgraded roots read-only; allows applications compiled with opam-state 2.0.9 to load a root which has been upgraded to opam 2.1 [#4636]
  • macOS sandbox now supports OPAM_USER_PATH_RO for adding a custom read-only directory to the sandbox [#4589, #4609]
  • OPAMROOT and OPAMSWITCH now reflect t…
Read more...

Postdoc Position at CEA List - LSL — Frama-C, Aug 05, 2021

Postdoc Position at CEA List - LSL — Frama-C, Aug 05, 2021

PhD Position at CEA List - LSL — Frama-C, Aug 05, 2021

opam 2.1.0 is released! — OCaml Platform (David Allsopp, Raja Boujbel - OCamlPro, Louis Gesbert - OCamlPro), Aug 04, 2021

Feedback on this post is welcomed on Discuss!

We are happy to announce the release of opam 2.1.0.

Many new features made it in (see the pre-release changelogs or release notes for the details), but here are a few highlights.

What's new in opam 2.1?

  • Integration of system dependencies (formerly the opam-depext plugin), increasing their reliability as it integrates the solving step
  • Creation of lock files for reproducible installations (formerly the opam-lock plugin)
  • Switch invariants, replacing …
Read more...

opam 2.0.9 release — OCaml Platform (Raja Boujbel - OCamlPro, Louis Gesbert - OCamlPro), Aug 03, 2021

Feedback on this post is welcomed on Discuss!

We are pleased to announce the minor release of opam 2.0.9.

This new version contains some back-ported fixes.

New features

  • Back-ported ability to load upgraded roots read-only; allows applications compiled with opam-state 2.0.9 to load a root which has been upgraded to opam 2.1 [#4636]
  • macOS sandbox now supports OPAM_USER_PATH_RO for adding a custom read-only directory to the sandbox [#4589, #4609]
  • OPAMROOT and OPAMSWITCH now reflect the --root and --…
Read more...

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…

Read more...

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…

Read more...

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…
Read more...

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

Introduction

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…

Read more...

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…

Read more...

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…

Read more...

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…

Read more...

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…

Read more...

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 …

Read more...

View older blog posts.