OCaml Weekly News

Previous Week Up Next Week

Hello

Here is the latest OCaml Weekly News, for the week of February 11 to 18, 2025.

Table of Contents

Learn Programming with OCaml (new book)

Jean Christophe Filliatre announced

Dear OCaml community,

A long time ago, Sylvain and I wrote a French book on learning programming with OCaml. Recently, the OCaml Software Foundation funded its translation to English. The book is available here:

Learn Programming with OCaml

Many thanks to Urmila for a translation of high quality.

The book is available as a PDF file, under the CC-BY-SA license. The source code for the various programs contained in the book are available for download, under the same license.

The book is structured in two parts. The first part is a tutorial-like introduction to OCaml through 14 small programs, covering many aspects of the language. The second part focuses on fundamental algorithmic concepts, with data structures and algorithms implemented in OCaml. This is also a nice way to learn a language!

The book does not cover all aspects of OCaml. It is ideally complemented by other books on OCaml.

Ocsigen's 2024 recap

William Caldwell announced

Hi all!

2024 was a busy year for the Ocsigen ecosystem, in case you missed any of it, here are the important highlights:

wasm_of_ocaml has been merged in its parent project js_of_ocaml, making your Ocsigen projects that much closer to being served as WASM instead of JavaScript. In the meantime you can build your own WASM by using wasm_of_ocaml to get a taste of the future.

Major work has been undertaken on Ocsigen:

  • Ocsigen Server 6
  • Eliom 11
  • Ocsigen Start 7

Ocsigen server no longer needs a configuration file to start your project, you can instead start Ocsigen server in your project and handle the configuration yourself. If you're eager to Ocsigen_server.start ... you can learn more in the following announcements:

Ready for 2025? We certainly are! Our efforts to make the Ocsigen ecosystem more modular are ongoing: next on the list is ocsigen-i18n, making easier to pick and choose what bits of Ocsigen you want to include in your project, and allowing to use it for any OCaml application. The biggest evolution of the Ocsigen project is underway & soon to be announced, and that's not even including wasm\_of\_ocaml. Also keep an eye out for our public meeting announcements in which we discuss our current tasks, ask for public feedback, and answer whatever Ocsigen related questions you might have.

OCaml GADTs for Authentication Tokens

Maxim Grankin announced

Hi everyone! 👋

My name is Max, I've been using OCaml for a while during my years at Bloomberg and at some moment decided to dig a little bit into GADTs. I found couple of use cases for them and decided to write down one in detail:

I hope it would help newcomers to find application for GADTs in their projects.

Huge thanks to @chshersh for reviewing this blog post!

Enjoy and let me know what you think in the comments!

OCaml language committe launched

octachron announced

It is my pleasure to announce the launch of the OCaml language committee. This committee is intended as collegial instance with the aim to facilitate discussions and consensus making about the evolution of the OCaml language and its standard library.

Over the years, it has become a common shared grievance among both maintainers and contributors to the OCaml language that, sometimes, the review process for changes grinds to a halt, either because consensus is elusive or because no one feels empowered enough to take a decision single-handed.

In order to reduce the number of those instances of decision paralysis, the OCaml maintainers have decided to experiment with an OCaml language committee: a subgroup of the OCaml community organised to discuss evolution of the OCaml language in a timely fashion.

In practice, if someone feels that a contribution (a Pull Request, issue, Request For Comment) might be stuck or might benefit from a wider discussion, they may ask the committee to take the contribution under consideration by mentioning it to the committee chair (which is currently me, aka @Octachron on github).

Then the committee will deliberate on this contribution both on the archived public mailing list ocaml-language-committee@inria.fr for internal committee discussion [^1] and possibly on the relevant community channels (ocaml/ocaml or here on discuss). At the end of this collegial discussion, the committee will publish a consultative decision on the matter. We expect that having such a collegial consultative decision would be enough to unblock most situations.

For more details, the intended working of the committee is described at https://github.com/ocaml/RFCs/blob/master/Committee.md .

Happy hacking, Florian Angeletti for the OCaml Language Committee

[^1]: Anyone is welcome to subscribe to the mailing list to attend to the discussions, but please do not flood the mailing list so that we can keep it fully open.

Dune dev meeting

art-w announced

Hello! The next Dune Dev Meeting will be on Wednesday, February, 19th at 4pm CET for an hour long discussion.

Whether you are a maintainer, a regular contributor, a new joiner or just curious, you are welcome to join: these discussions are opened! The goal of these meetings is to provide a place to discuss the ongoing work together and synchronize with the Dune developers.

The agenda is available on the meeting dedicated page. Feel free to add more items in it.

Asking For Community Feedback on the OCaml Platform Communications

Sabine Schmaltz announced

Hi all,

I'm looking for feedback on the OCaml Platform communications, especially the Platform Newsletter and the OCaml.org Changelog.

For this, I have prepared a Google form survey (you can send me your responses by email if you prefer):

https://docs.google.com/forms/d/e/1FAIpQLSctTt-WtWEU9heJixGAcAxeUxZhPeX0ioTnaPk6VKTwYHHs9A/viewform

The survey aims to improve both the process and the usefulness of the OCaml Platform communications and to help me create a handbook that gives a clear picture of all our developer-focused communication channels, as well as how the new Developer Advocate role at Tarides can support the maintainers in these communications.

A major aim of this effort is to adapt the process around the communications to minimize the amount of friction imposed on engineers and to maximize the usefulness to the readers.

Thanks for your help!

Old CWN

If you happen to miss a CWN, you can send me a message and I'll mail it to you, or go take a look at the archive or the RSS feed of the archives.

If you also wish to receive it every week by mail, you may subscribe to the caml-list.