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

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

An in-depth Look at OCaml’s new “Best-fit” Garbage Collector Strategy — OCamlPro, Mar 23, 2020

The Garbage Collector probably is OCaml’s greatest unsung hero. Its pragmatic approach allows us to allocate without much fear of efficiency loss. In a way, the fact that most OCaml hackers know little about it is a good sign: you want a runtime to gracefully do its job without having to mind it all the time.

But as OCaml 4.10.0 has now hit the shelves, a very exciting feature is in the changelog:

- #8809, #9292: Add a best-fit allocator for the major heap; still
experimental, it should be…
Read more...

Sliding Tile Puzzle, Self-Contained OCaml Webapp — Psellos, Mar 21, 2020

March 21, 2020

I just finished coding up another webapp in OCaml. I thought it would be cool to publish the sources of a small, completely self-contained app. It’s a sliding tile puzzle coded entirely in OCaml, using a few of the BuckleScript extensions. There are no dependencies on any frameworks or the like aside from the Js modules of BuckleScript. The app itself consists of just one JavaScript file—no images, nothing else.


You can try out the puzzle or get the sources a…

Read more...

New version of Try OCaml in beta! — OCamlPro, Mar 16, 2020

We are happy to announce that our venerable “Try Ocaml” service is being retired and replaced by a new, modern version based upon our work on Learn-OCaml.

Try it here

The new interface provides an editor panel besides the familiar top-level, error and warning positions highlighting, the latest OCaml release (4.10.0), local storage of your session, and more.

The service is still in beta, so it would be helpful if you could tell us about any hiccups you may encounter on the Dis…

Read more...

Frama-Clang 0.0.8 is out. Download it here. — Frama-C, Mar 10, 2020

A reasonable TyXML release | Drup's thingies — Gabriel Radanne, Mar 06, 2020

I have the pleasure to announce the release of TyXML 4.4.0, with special Reason support!

Alt-Ergo Users’ Club Annual Meeting — OCamlPro, Mar 03, 2020

The second annual meeting of the Alt-Ergo Users’ Club was held in mid-February. Our annual meeting is the perfect place to review each partner’s needs regarding Alt-Ergo. This year, we had the pleasure of receiving our partners to discuss the roadmap for future Alt-Ergo developments and enhancements.

Alt-Ergo is an automatic mathematical formula checker, jointly developed by LRI and OCamlPro (since 2014). For more information or to join the club, visit https://alt-ergo.ocamlpro.com.

Read more...

OCaml iOS Apps Ported to Browser — Psellos, Feb 24, 2020

February 24, 2020

Something like ten years ago we produced two iOS card game apps written in OCaml, partly as a proof of concept for compiling OCaml to iOS and partly because we enjoy card games. Unfortunately we weren’t able to spark a worldwide craze for writing iOS apps in OCaml or for playing Schnapsen, as we had hoped. Consequently there was very little financial return and we all had to move on to other projects.

Both apps play a very good two-player card game. The apps are essenti…

Read more...

Watch all of Jane Street's tech talks — Jane Street, Feb 20, 2020

Jane Street has been posting tech talks from internal speakers and invited guests for years—and they’re all available on our YouTube channel:

Mercurial: prettyconfig extension — Marc Simpson, Feb 16, 2020

Mercurial: prettyconfig extension

# February 16, 2020

Since the Bitbucket migration, I’ve found myself tinkering1 with Mercurial and its extensions system again (after a long hiatus).

One byproduct of this was a simple, single function extension for listing aliases in a user-friendly way. I subsequently realised that the same behaviour would be useful for arbitrary config sections (aliases, paths, schemes)… and so, the prettyconfig fork.

The prettyconfig

Read more...

Mercurial extensions (update) — Marc Simpson, Feb 05, 2020

Mercurial extensions (update)

# February 5, 2020

In my previous post, I mentioned that a couple of old Mercurial extensions are archived on this server: hg-prettypaths and hg-persona.

Both have now been lightly tidied and updated to work with newer versions of Mercurial (tested on 4.5.3, 5.3).


comments powered by Disqus

2019 at OCamlPro — OCamlPro, Feb 04, 2020

OCamlPro was created to help OCaml and formal methods spread into the industry. We grew from 1 to 21 engineers, still strongly sharing this ambitious goal! The year 2019 at OCamlPro was very lively, with fantastic accomplishments all along!

Let’s quickly review the past years’ works, first in the world of OCaml (flambda2 & compiler optimisations, opam 2, our Rust-based UI for memprof, tools like tryOCaml, ocp-indent, and supporting the OCaml Software Foundation), then in the wor…

Read more...

Bitbucket repository migration — Marc Simpson, Feb 03, 2020

Bitbucket repository migration

# February 3, 2020

Since Bitbucket are discontinuing Mercurial support in a few months’ time (see here), I’ve started migrating a few old repositories:

Read more...

Troubleshooting systemd with SystemTap — Jane Street, Feb 03, 2020

When we set up a schedule on a computer, such as a list of commands to run every day at particular times via Linux cron jobs, we expect that schedule to execute reliably. Of course we’ll check the logs to see whether the job has failed, but we never question whether the cron daemon itself will function. We always assume that it will, as it always has done; we are not expecting mutiny in the ranks of the operating system.

Ocsigen Start updated — Ocsigen project (The Ocsigen Team), Jan 20, 2020

New release: Ocsigen Start 2.15

Ocsigen Start is a template for client-server Web and/or mobile app in OCaml or ReasonML. It contains many standard features like user management, notifications, and many code examples. Use it to learn Web/mobile development in OCaml or to quickly create your own Minimum Viable Product. See an online demo.

Last features include:

  • Get rid of all remaining Camlp4 code
  • compatibility with OCaml 4.09

Ocsigen Start updated — Ocsigen blog (The Ocsigen Team), Jan 20, 2020

New release: Ocsigen Start 2.15

Ocsigen Start is a template for client-server Web and/or mobile app in OCaml or ReasonML. It contains many standard features like user management, notifications, and many code examples. Use it to learn Web/mobile development in OCaml or to quickly create your own Minimum Viable Product. See an online demo.

Last features include:

  • Get rid of all remaining Camlp4 code
  • compatibility with OCaml 4.09

opam 2.0.6 release — OCamlPro, Jan 16, 2020

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

This new version contains some small backported fixes and build update:

  • Don’t remove git cache objects that may be used [#3831 @AltGr]
  • Don’t include .gitattributes in index.tar.gz [#3873 @dra27]
  • Update FAQ uri [#3941 @dra27]
  • Lock: add warning in case of missing locked file [#3939 @rjbou]
  • Directory tracking: fix cached entries retrieving with precise tracking [#4038 @hannesm]
  • Build:
Read more...

opam 2.0.6 release — OCaml Platform (Raja Boujbel - OCamlPro, Louis Gesbert - OCamlPro), Jan 16, 2020

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

This new version contains some small backported fixes and build update:

  • Don't remove git cache objects that may be used [#3831 @AltGr]
  • Don't include .gitattributes in index.tar.gz [#3873 @dra27]
  • Update FAQ uri [#3941 @dra27]
  • Lock: add warning in case of missing locked file [#3939 @rjbou]
  • Directory tracking: fix cached entries retrieving with precise tracking [#4038 @hannesm]
  • Build:
    • Add sanity checks [#3934 @dra27]
    • Build man pages using dune…
Read more...

Hackers and climate activists join forces in Leipzig — MirageOS (Damien Leloup), Jan 08, 2020

Hackers and climate activists join forces in Leipzig

By Damien Leloup, special correspondent, Le Monde. Originally published by Le Monde on December 30, 2019. English translation by the MirageOS Core Team.

The Chaos Communication Congress, the world's largest self-managed event dedicated to IT security, hosted its 36th edition this weekend in Germany.

In front of Leipzig station, around fifty students and high school students are gathered. It's Sunday, but the local branch of the Fridays for F…

Read more...

Deploying authoritative OCaml-DNS servers as MirageOS unikernels — Hannes Mehnert (hannes), Dec 23, 2019

Goal

Have your domain served by OCaml-DNS authoritative name servers. Data is stored in a git remote, and let's encrypt certificates can be requested to DNS. This software is deployed since more than two years for several domains such as nqsb.io and robur.coop. This present the authoritative server side, and certificate library of the OCaml-DNS implementation formerly known as µDNS.

Prerequisites

You need to own a domain, and be able to delegate the name service to your own servers. You…

Read more...

Reproducible MirageOS unikernel builds — Hannes Mehnert (hannes), Dec 16, 2019

Reproducible builds summit

I'm just back from the Reproducible builds summit 2019. In 2018, several people developing OCaml and opam and MirageOS, attended the Reproducible builds summit in Paris. The notes from last year on opam reproducibility and MirageOS reproducibility are online. After last years workshop, Raja started developing the opam reproducibilty builder orb, which I extended at and after this years summit. This year before and after the facilitated summit there were hacking …

Read more...

Using Python and OCaml in the same Jupyter notebook — Jane Street, Dec 16, 2019

The cover image is based on Jupiter family by NASA/JPL.

Tarides wins the FIC 2020 startup award — Tarides (Céline Laplassotte), Dec 11, 2019

We are very excited to announce that Tarides has won an award from the International Cybersecurity Forum (FIC 2020).

Organized every year in Lille (France), the International Cybersecurity Forum has become the leading European event on cybersecurity and digital trust. Its main goal is to foster reflection and exchanges within the European cybersecurity ecosystem.

We are very happy to have won the "Coup de Coeur" Prize, which will bring great visibility to our technological innovations. It is als…

Read more...

Deep-Learning the Hardest Go Problem in the World — Jane Street, Dec 06, 2019

Updates and a New Run

Frama-C 20.0 (Calcium) is out. Download it here. — Frama-C, Dec 04, 2019

MirageOS talk at the Paris Open Source Summit — Tarides (Céline Laplassotte), Dec 04, 2019

We are thrilled to have been selected by the Paris Open Source Summit committee to talk about “Secure-by-design IoT applications using MirageOS”.

The Paris Open Source Summit is an annual event where you can connect to open-source communities and learn from tech leaders, project committers and CTOs about the latest technical solutions, innovative uses and societal challenges of open digital technology.

Thomas Gazagnaire, Tarides CEO/CTO, will explain what makes MirageOS a good framework to b…

Read more...

Testing OCaml releases with opamcheck — GaGallium (Florian Angeletti), Dec 03, 2019

I (Florian Angeletti) have started working at Inria Paris this August. A part of my new job is to help deal with the day-to-day care for the OCaml compiler, particularly during the release process. This blog post is a short glimpse into the life of an OCaml release.

OCaml and the opam repository

Currently, the song of the OCaml development process is a canon with two voices: a compiler release spends the first 6 months of its life as the trunk branch of the OCaml compiler git repository…

Read more...

Introducing the GraphQL API for Irmin 2.0 — Tarides (Andreas Garnaes), Nov 27, 2019

With the release of Irmin 2.0.0, we are happy to announce a new package - irmin-graphql, which can be used to serve data from Irmin over HTTP. This blog post will give you some examples to help you get started, there is also a section in the irmin-tutorial with similar information. To avoid writing the same thing twice, this post will cover the basics of getting started, plus a few interesting ideas for queries.

Getting the irmin-graphql server running from the command-line is easy:

$ irmin grap…
Read more...

Announcing Irmin 2.0.0 — MirageOS (Anil Madhavapeddy), Nov 26, 2019

We are pleased to announce Irmin 2.0.0, a major release of the Git-like distributed branching and storage substrate that underpins MirageOS. We began the release process for all the components that make up Irmin back in May 2019, and there have been close to 1000 commits since Irmin 1.4.0 release back in June

  1. To celebrate this milestone, we have a new logo and opened a dedicated website: irmin.org.

You can read more details about the new features in the Irmin v2 blog post. Enjoy the new releas…

Read more...

Irmin v2 — Tarides (Thomas Gazagnaire), Nov 21, 2019

We are pleased to announce Irmin 2.0.0, a major release of the Git-like distributed branching and storage substrate that underpins MirageOS. We began the release process for all the components that make up Irmin back in May 2019, and there have been close to 1000 commits since Irmin 1.4.0 released back in June 2018. To celebrate this milestone, we have a new logo and opened a dedicated website: irmin.org.

Our focus this year has been on ensuring the production success of our early adopters -- s…

Read more...

BAP 2.0 is released — The BAP Blog, Nov 19, 2019

The Carnegie Mellon University Binary Analysis Platform (CMU BAP) is a suite of utilities and libraries that enables analysis of programs in their machine representation. BAP is written in OCaml, relies on dynamically loaded plugins for extensibility, and is widely used for security analysis, program verification, and reverse engineering.

This is a major update that includes lots of new features, libraries, and tools, as well as improvements and bug fixes to the existing code. The following sma…

Read more...

View older blog posts.