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

Alan Schmitt
2026-02-03T10:05:06Z

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

Hello

Here is the latest OCaml Weekly News, for the week of January 27 to
February 03, 2026.

Table of Contents
─────────────────

Ofortune!
OUPS meetup february 2026
shakuhachi v0.2.0
OCaml security grants
New release of Menhir (20260122)
OCaml for Industry
Mset 0.2.0 - new library for small multisets
Lwt.6.1.0, Lwt_ppx.6.1.0
Other OCaml News
Old CWN

Ofortune!
═════════

Archive: <https://discuss.ocaml.org/t/ann-ofortune/17744/1>

Tim ats announced
─────────────────

Hi everyone,

I'm very glad to announce the release of [Ofortune]! Ofortune is a
fortune-teller written in OCaml. For those who didn't know, `fortune'
is a small NetBSD utility which, according to its [man page], "prints
a random, hopefully interesting, adage".

<https://us1.discourse-cdn.com/flex020/uploads/ocaml/original/2X/c/ced911b15beffb91c8d906e073eef707bb722f2b.gif>

Even though the goal of Ofortune is not to behave exactly like the
legacy implementation, it shares most of the same command-line
flags. By default, Ofortune searches fortune files in the directory
`/usr/share/games/fortune', but you may directly set the files used to
pick a random fortune (with eventually an associated probability) by
doing the following `ofortune 60% quotations 40% funny-quotations'.

I think that ofortune is one of those software programs that is
moderately interesting unless you give it an excellent database to
work with, so feel free to write your own cookie files. Your can for
you can place it in your bashrc file to display a random quote each
time you open a terminal.

Ofortune is written in dependance free OCaml > 5.4. To install it,
type (this will install an executable named `ofortune' in your path):
┌────
│ git clone https://git.sr.ht/~tim-ats-d/ofortune && cd ofortune && make native && install -T ofortune_unix.native /bin/ofortune
└────

An online version compiled with js_of_ocaml is available at this
address: <https://site.condor-du-plateau.fr/ofortune-web.html>.

Ofortune is distributed under the LGPL-3.0 license, and the source
code is available [here].

[Ofortune] <https://git.sr.ht/~tim-ats-d/ofortune>

[man page] <https://man.freebsd.org/cgi/man.cgi?query=fortune>

[here] <https://git.sr.ht/~tim-ats-d/ofortune>

OUPS meetup february 2026
═════════════════════════

Archive:
<https://discuss.ocaml.org/t/oups-meetup-february-2026/17748/1>

ancolie announced
─────────────────

The next OUPS meetup will take place on *Wednesday, 25th of February*
2026. It will start at *6:30pm* at the *4 place Jussieu* in Paris. It
will be in the in the *Esclangon building* (amphi Astier).

Please, *[register on meetup ]* as soon as possible to let us know how
many pizza we should order.

For more details, you may check the [OUPS’ website ].

Moreover, we’d like to announce that the organizing team moved to the
[OCaml Zulip]. Feel free to contact us there if you’d like to suggest
talks.

—

This time we’ll have the following talks:

*Coccinelle, for C and for Rust – Julia Lawall*

Coccinelle is a tool for automating complex repetitive
searches and transformations in source code. It was
originally developed for the C language, targetting the
Linux kernel, but we have recently started working on
Rust. This talk will give an overview of Coccinelle
targeting C, present the main design decisions and how
they translate to Rust, and present some practical
examples involving Rust. Both versions of Coccinelle are
available in open source.

• <https://coccinelle.gitlabpages.inria.fr/website/>
• <https://rust-for-linux.com/coccinelle-for-rust>

*OCaml and the MOPSA static analysis platform – Marco Milanese*

In this talk we present MOPSA, a static analysis platform
built in OCaml: MOPSA implements a sound analysis (based
on the theory of abstract interpretation), with an
emphasis on reusability and modularity of abstractions.

To this end each domain performs a simple, targeted,
simplification of the program and it can be swapped or
combined with other domains to tune the
precision/performance tradeoff of the analysis. OCaml and
its type and module systems play a crucial role to achieve
this goal.. we will see how monads, modules and abstract
data types (and more!) naturally describe the components
of a static analysis tool.

—

After the talks there will be some pizzas offered by the [OCaml
Software Foundation] and later on we’ll move to a pub nearby as usual.

[register on meetup ]
<https://www.meetup.com/fr-FR/ocaml-paris/events/313097450>

[OUPS’ website ] <https://oups.frama.io>

[OCaml Zulip] <https://ocaml.zulipchat.com>

[OCaml Software Foundation] <https://ocaml-sf.org>

shakuhachi v0.2.0
═════════════════

Archive: <https://discuss.ocaml.org/t/ann-shakuhachi-v0-2-0/17751/1>

EruEri announced
────────────────

I'm happy to announce the release [shakuhachi v0.2.0]. Shakuhachi is
a music collection manager. It aims to be a rather simple collection
manager extensible by plugins.

This release is mostly a bug-fix release, but some new functions are
exposed through its API.

Sincerely yours.

[shakuhachi v0.2.0]
<https://codeberg.org/EruEri/shakuhachi/releases/tag/0.2.0>

OCaml security grants
═════════════════════

Archive: <https://discuss.ocaml.org/t/ocaml-security-grants/17754/1>

Hannes Mehnert announced
────────────────────────

Dear OCaml hackers,

we're pleased to announce that there are grants (up to 100_000 EUR)
available for the broad topic of OCaml and security. The main idea is
to strengthen the OCaml ecosystem in terms of security - being it
tooling, documentation, guides, ….

Your submitted proposal (until March 1st) will be reviewed by the
OCaml security team (<https://ocaml.org/security>). This wouldn't be
possible with the OCSF (<https://ocaml-sf.org/>) and their sponsors.

If you have an idea, please go to
<https://cryptpad.fr/form/#/2/form/view/ozl80ZB3ndLhMcGeu0buygGOIwZWL6+dxbPuXgT+Wxs/>
and submit your proposal.

Thanks,

Hannes (in the name of the OCaml security team)

New release of Menhir (20260122)
════════════════════════════════

Archive:
<https://discuss.ocaml.org/t/ann-new-release-of-menhir-20260122/17764/1>

François Pottier announced
──────────────────────────

I am pleased to announce a new version of Menhir.

┌────
│ opam update && opam install menhir.20260122
└────

The main new feature is a brand new GLR back-end. This back-end is
selected by the command line switch `--GLR'. GLR is a
non-deterministic parsing algorithm; it is useful when the grammar
lies outside the class LR(1), either because the grammar is
unambiguous but requires more than one token of lookahead, or because
the grammar is truly ambiguous. For more information on GLR, please
[read the manual].

There are also many minor changes in this release; please see [the
change log] for details.

Happy parsing,

François.

[read the manual]
<https://cambium.inria.fr/~fpottier/menhir/manual.html#sec92>

[the change log]
<https://gitlab.inria.fr/fpottier/menhir/-/blob/master/CHANGES.md?ref_type=heads>

OCaml for Industry
══════════════════

Archive: <https://discuss.ocaml.org/t/ann-ocaml-for-industry/17766/1>

Nicolas Ojeda Bar announced
───────────────────────────

Dear community,

This Friday, Feb 6 at 15:00-17:00 CET the OCSF is organizing a video
call in collaboration with Tarides and OCamlPro to discuss all aspects
of OCaml relevant to __industrial__ users. We have invited all OCSF
sponsors to participate, but would be very happy to welcome other
industrial users (who are not currently OCSF sponsors) if they want to
participate.

So, if you are an industrial user of OCaml and would like to
participate, please get in touch and I will forward the meeting
details.

Thanks!

Cheers, Nicolas

Mset 0.2.0 - new library for small multisets
════════════════════════════════════════════

Archive:
<https://discuss.ocaml.org/t/mset-0-2-0-new-library-for-small-multisets/17769/1>

Jean Christophe Filliatre announced
───────────────────────────────────

Dear OCaml community,

I’m pleased to announce the first release of `mset', a library that
implements multisets as soon as they are small enough to fit inside a
single `int' (as a bitset).

It is available via `opam' and here at GitHub:

• [https://github.com/backtracking/mset]
• [documentation]

I implemented this library as part of a project to [count anagrams]
but I anticipate it might be useful for other purposes.

Happy hacking,

Jean-Christophe

[https://github.com/backtracking/mset]
<https://github.com/backtracking/mset>

[documentation]
<https://backtracking.github.io/mset/mset/Mset/index.html>

[count anagrams]
<https://github.com/backtracking/ocaml-bazaar/blob/main/count_anagrams.ml>

Lwt.6.1.0, Lwt_ppx.6.1.0
════════════════════════

Archive:
<https://discuss.ocaml.org/t/ann-lwt-6-1-0-lwt-ppx-6-1-0/17770/1>

Raphaël Proust announced
────────────────────────

*Lwt.6.1.0* has been release. It contains some fixes (see full
[changelog], special thanks to @kit-ty-kate and @otini) as well as
the following notable addition:

• New `Lwt_engine.engine_id' to know what underlying engine Lwt is
currently using.

*Lwt_ppx.6.1.0* (also *Lwt_ppx.5.9.3*) has been released. It contains
a fix to correctly carry type annotations: `let%lwt x : t = … in …'
now produces code that correctly place the `t' annotation. (This was
caused by a change in ppxlib which was not accounted for previously.)

Versions 6.0.0 and 5.9.2 or lwt_ppx are marked as `avoid-version' in
opam-repository. They are fine to use as long as you don't use type
annotations but you should update to 6.1.0 or 5.9.3.

Special thanks to @Halbaroth for the bug report.

[changelog]
<https://github.com/ocsigen/lwt/blob/661646e40639298dde11834cfd3575b6ead2cadc/CHANGES#L1>

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

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

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

• [My (very) fast zero-allocation webserver using OxCaml]
• [Weeknotes for weeks 4-5]
• [What Happened in January 2026?]
• [ OCaml.org Now Uses `odoc' 3: What’s New?]
• [Getting Claude to complete the spec]

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

[My (very) fast zero-allocation webserver using OxCaml]
<https://anil.recoil.org/notes/oxcaml-httpz>

[Weeknotes for weeks 4-5]
<https://jon.recoil.org/blog/2026/01/weeknotes-2026-04-05.html>

[What Happened in January 2026?]
<https://soap.coffee/~lthms/posts/january-2026.html>

[ OCaml.org Now Uses `odoc' 3: What’s New?]
<https://tarides.com/blog/2026-01-29-ocaml-org-now-uses-odoc-3-what-s-new>

[Getting Claude to complete the spec]
<https://www.tunbury.org/2026/01/28/claude-spec/>

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: 24472 bytes --]