[ANN] Release of ocaml-sf/learn-ocaml:0.16.0

Dear all,

We are pleased to announce the latest stable release of Learn-OCaml, version 0.16.0.

Many thanks to all users who contributed bugs reports, fixes, and enhancements!

A comprehensive list of the fixes and enhancements offered by this release is available in the Release Notes which also gathers static binaries for Linux and macOS, the corresponding opam-repository pull request is pending, and the Docker images of learn-ocaml and learn-ocaml-client are immediately available on Docker Hub.

If you happen to maintain a learn-ocaml server, we strongly recommend that you update your version to 0.16.0 to benefit from important fixes, as well as newest features.


  1. From a student point-of-view, a feature developed by M. Hernouf, D. Pinto, and L. Gesbert from OCamlPro significantly improves the UI/UX for the exercises list, adding three sub-tabs By category, By skill (see the screenshot below), and By difficulty, with collapsible blocks:

  2. From a teacher point-of-view, the handling of Open/Closed status for assigned exercises has been significantly improved (cf. issues #534 and #558). When exercises are assigned, learn-ocaml’s teacher tab now shows the global-status of the exercises, especially for unassigned students (see the screenshot below). The underlying soundness invariant has been made explicit, and is now verified using a dedicated ppx_expect test suite.

If need be, feel free to open issues in the Learn-OCaml bug tracker or the learn-ocaml.el bug tracker, or post in this thread to share comments.

Happy OCaml learning and teaching, and stay tuned for the next release!

Erik Martin-Dorel for the Learn-OCaml team :camel:


For those who don’t know the learn-ocaml platform yet:

  • a static instance of learn-ocaml, combining the latest release of learn-ocaml and learn-ocaml-corpus’ exercises, is available at: https://ocaml-sf.org/learn-ocaml-public/;
  • the learn-ocaml artifact itself (distributed under the MIT license) is a full-stack web server written in OCaml, fully customizable to serve Markdown-based lectures and interactive exercises endowed with auto-grading tests, written in OCaml as well;
  • an emacs frontend for learn-ocaml is also available on MELPA;
  • the learn-ocaml-corpus is a large collection of exercises that originated in the OCaml MOOC and has been further extended by several authors since then.