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) Ocsigen's 2024 recap OCaml GADTs for Authentication Tokens OCaml language committe launched Dune dev meeting Asking For Community Feedback on the OCaml Platform Communications Old CWN Learn Programming with OCaml (new book) ═══════════════════════════════════════ Archive: 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]. [learning programming with OCaml] [Learn Programming with OCaml] [Urmila] [CC-BY-SA license] [other books on OCaml] Ocsigen's 2024 recap ════════════════════ Archive: 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: • [ocsigen server 6] • [Eliom 11 and Osigen Start 7] 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. [ocsigen server 6] [Eliom 11 and Osigen Start 7] OCaml GADTs for Authentication Tokens ═════════════════════════════════════ Archive: 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: • [OCaml GADTs for Authentication Tokens] 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 GADTs for Authentication Tokens] OCaml language committe launched ════════════════════════════════ Archive: 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 . 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. [a subgroup of the OCaml community] [archived] [ocaml/ocaml] [here on discuss] Dune dev meeting ════════════════ Archive: 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. • Meeting link: [zoom] • Calendar event: [google calendar] • Wiki with informations and previous notes: [dune wiki on github] [meeting dedicated page] [zoom] [google calendar] [dune wiki on github] Asking For Community Feedback on the OCaml Platform Communications ══════════════════════════════════════════════════════════════════ Archive: 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): 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! [OCaml.org] 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]. [Alan Schmitt] [send me a message] [the archive] [RSS feed of the archives] [caml-list] [Alan Schmitt]