[Caml-list] Attn: Development Editor, Latest OCaml Weekly News

Alan Schmitt
2025-04-29T08:39:51Z

[-- Attachment #1: Type: text/plain, Size: 7134 bytes --]

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
State of OCaml Platform on Windows
Upgrading Semgrep from OCaml 4 to OCaml 5 + dynamic_gc utility
Typesafe complicated combinations
Other OCaml News
Old CWN

dream-html, pure-html 3.10.0 and 3.10.1
═══════════════════════════════════════

Archive:
<https://discuss.ocaml.org/t/ann-dream-html-pure-html-3-10-0-3-10-1/16537/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].

[dream-html] <https://github.com/yawaramin/dream-html>

[RSS/Atom]
<https://yawaramin.github.io/dream-html/pure-html/Pure_html/#rss-and-atom>

[multiple]
<https://yawaramin.github.io/dream-html/dream-html/Dream_html/Form/index.html#val-multiple>

[concatenate]
<https://yawaramin.github.io/dream-html/pure-html/Pure_html/#val-concat>

[popovers]
<https://yawaramin.github.io/dream-html/pure-html/Pure_html/HTML/index.html#val-popover>

[Declarative Shadow DOM]
<https://yawaramin.github.io/dream-html/pure-html/Pure_html/HTML/index.html#val-shadowrootclonable>

[hx-vals]
<https://yawaramin.github.io/dream-html/pure-html/Pure_html/Hx/index.html#val-vals>

State of OCaml Platform on Windows
══════════════════════════════════

Archive:
<https://discuss.ocaml.org/t/ann-state-of-ocaml-platform-on-windows/16540/1>

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

[First-Class Windows]
<https://tarides.com/blog/2024-05-22-launching-the-first-class-windows-project/>

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
═════════════════════════════════

Archive:
<https://discuss.ocaml.org/t/blog-typesafe-complicated-combinations/16548/1>

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 (:

[written a blogpost]
<https://r7p5.earth/blog/2025-4-25/Typesafe%20complicated%20combinations>

Other OCaml News
════════════════

From the ocaml.org blog
───────────────────────

Here are links from many OCaml blogs aggregated at [the ocaml.org
blog].

• [SPF, DKIM, DMARC and ARC]
• [Feature Parity Series: Restoring the MSVC Port]

[the ocaml.org blog] <https://ocaml.org/blog/>

[SPF, DKIM, DMARC and ARC]
<https://blog.robur.coop/articles/2025-04-23-email-verification.html>

[Feature Parity Series: Restoring the MSVC Port]
<https://tarides.com/blog/2025-04-23-feature-parity-series-restoring-the-msvc-port>

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] <mailto:alan.schmitt@polytechnique.org>

[the archive] <https://alan.petitepomme.net/cwn/>

[RSS feed of the archives] <https://alan.petitepomme.net/cwn/cwn.rss>

[caml-list] <https://sympa.inria.fr/sympa/info/caml-list>

[Alan Schmitt] <https://alan.petitepomme.net/>

[-- Attachment #2: Type: text/html, Size: 16964 bytes --]