OCaml Weekly News
Hello
Here is the latest OCaml Weekly News, for the week of April 22 to 29, 2025.
Table of Contents
dream-html, pure-html 3.10.0 and 3.10.1
Yawar Amin announced
Happy to announce a couple of releases of dream-html:
3.10.0: add support for RSS/Atom markup; add ability to handle multiple nested form values; concatenate HTML nodes with a separator node between them; add support for popovers and Declarative Shadow DOM markup.
3.10.1: use single quotes for attributes which must contain JSON values, like htmx's hx-vals.
State of OCaml Platform on Windows
Leandro Ostera announced
Hello folks :waving_hand:
We're happy to share the first version of the State of the OCaml Platform on Windows document with you. Please find the document here: https://docs.google.com/document/d/1-aTygzDsxy4mnqvSKEVhifA1KDRyP-Axdogjgb8i3Gg/edit?usp=sharing.
As part of the First-Class Windows project, we've been assessing the state of OCaml on Windows. This document is a summary of our investigation, including our consultations with individuals involved in Windows-related work.
This document started internally at Tarides and quickly included major contributors and users of OCaml on Windows for its drafting and review stages. Thank you to @jbeckford, @klakplok, @Vincent_Balat, @Rucikir, @lambda_foo, @rikusilvola, @kayceesrk, @dra27, @Isabella, @rjbou, @avsm, @kentookura, @oandrieu, @shonfeder, @sabine, and everyone else at Tarides for helping us shape and review this document! :folded_hands:
The immediate call to action for you is to give us your inputs and thoughts, challenge it and help us make it better. You can do this directly on that document, or by quoting into this thread.
We'll have a window of 8 weeks to allow for this to happen. After that we will move this into the OCaml Platform section of OCaml.org to use as a reference and keep it updated over time.
Happy coding! :two_hump_camel:
/ @sudha & @leostera on behalf of Tarides
Upgrading Semgrep from OCaml 4 to OCaml 5 + dynamic_gc utility
Archive: https://discuss.ocaml.org/t/upgrading-semgrep-from-ocaml-4-to-ocaml-5-dynamic-gc-utility/16256/5
Continuing this thread, Nat Mote announced
I've just released a new version that includes the following module:
module Config : sig (** Produces a simple config that will set space_overhead to 120, the default, * when the size of the major heap is below the given threshold. When the heap * is larger than the given threshold, space_overhead will be set to 80. *) val simple: threshold_mb:int -> config end
That will make the utility even easier to configure while still allowing the application developer to set a memory threshold that is relevant to them.
Typesafe complicated combinations
rand announced
Heya everyone –
I've written a blogpost based on a recent experience adding typesafety to the pmmd
codebase – handling a lot of different data and functions that needs to be combined in the right ways.
In it I make use of phantom types and OCamls module system to express the invariants - which I find is a nice set of typesystem features to express complicated relations in a relatively simple but efficient and scaleable way. Also, I think interesting design patterns can emerge from this way of working.
Let me know here if you have any questions or comments
Thanks (:
Other OCaml News
From the ocaml.org blog
Here are links from many OCaml blogs aggregated at the ocaml.org blog.
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.