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

Alan Schmitt
2026-01-06T13:15:08Z

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

Hello

Here is the latest OCaml Weekly News, for the week of December 30, 2025
to January 06, 2026.

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

Announcing the first release of Alice, a radical OCaml build system
OCaml/opam package manager support for Dependabot - I need your help
shakuhachi 0.1.0 - A music collection manager
.mlx syntax dialect
ocaml-posix release 4.0.0
Other OCaml News
Old CWN

Announcing the first release of Alice, a radical OCaml build system
═══════════════════════════════════════════════════════════════════

Archive:
<https://discuss.ocaml.org/t/announcing-the-first-release-of-alice-a-radical-ocaml-build-system/17472/20>

Continuing this thread, Steve Sherratt announced
────────────────────────────────────────────────

[Alice v0.3.0] is out! This introduces a breaking change which is that
Alice now follows the [XDG Base Directory Spec] in lieu of creating a
`~/.alice' directory.

To migrate from an older version:
• Delete `~/.alice'.
• If you have a block in your shell config starting with `# BEGIN
configuration from Alice installer', remove that block.
• If you installed Alice with the installation script then run the
script again (instructions [here]).
• If you used Alice to install OCaml tools, you'll need to reinstall
those tools (run `alice tools install').
• If you've configured a custom sandbox template with Visual Studio
Code for any Alice projects, change the template based on the new
LSP instructions for Visual Studio Code [here].

To enable bash/zsh completions for Alice, source the appropriate file
from `~/.local/share/alice/env'.

[Alice v0.3.0] <https://www.alicecaml.org/blog/alice-v0-3-0/>

[XDG Base Directory Spec]
<https://specifications.freedesktop.org/basedir/latest/>

[here] <https://www.alicecaml.org/install>

[here] <https://www.alicecaml.org/lsp/#visual-studio-code>

Steve Sherratt later added
──────────────────────────

[Alice v0.4.0] is out. The main change is that package manifests now
use [KDL] instead of TOML. See [this post] for the motivation for this
change. There's a migration guide [here].

[Alice v0.4.0] <https://www.alicecaml.org/blog/alice-v0-4-0/>

[KDL] <https://kdl.dev/>

[this post] <https://www.alicecaml.org/blog/switching-manifests-to-kdl/>

[here]
<https://www.alicecaml.org/blog/alice-v0-4-0/#migrating-from-earlier-versions>

OCaml/opam package manager support for Dependabot - I need your help
════════════════════════════════════════════════════════════════════

Archive:
<https://discuss.ocaml.org/t/ocaml-opam-package-manager-support-for-dependabot-i-need-your-help/17656/1>

Jakub Polak announced
─────────────────────

Hello OCaml community! 😊

Let's kick off the new year with something exciting! I just created a
Pull Request to dependabot-core that adds support for Opam in
OCaml. This could be super useful for all of us using this ecosystem
in our projects!

<https://github.com/dependabot/dependabot-core/pull/13877>

But the Dependabot maintainers emphasized that maintaining new
ecosystems requires community support (check their comment here:
[https://github.com/dependabot/dependabot-core/pull/13711#issuecomment-3659899321]). They
already have 3 community-maintained ecosystems and want more, but only
if the community helps with long-term updater support.

They will be looking for volunteers to help maintain this – in
testing, fixes, or ongoing maintenance. We can push this together if
you really want it.

What do you think?

[https://github.com/dependabot/dependabot-core/pull/13711#issuecomment-3659899321]
<https://github.com/dependabot/dependabot-core/pull/13711?referrer=grok.com#issuecomment-3659899321>

shakuhachi 0.1.0 - A music collection manager
═════════════════════════════════════════════

Archive:
<https://discuss.ocaml.org/t/ann-shakuhachi-0-1-0-a-music-collection-manager/17659/1>

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

Dear all,

I humbly announce shakuhachi `0.1.0`.

Shakuhachi is a music collection manager. It aims to be a rather
simple collection manager extensible by plugins. It organizes musics
into an artist/album directory structure, can handle multiple
collections and provides a mechanism similar to `GitHub -
beetbox/beet' for querying a collection. Shakuhachi also exposes some
of its internals which allows to hook it inside other applications.

You can visit the source code at [codeberg - erueri/shakuhachi].

You can also see an example of integrating shakuhachi inside a C++
music player [codeberg - erueri/audacious-skhc-plugin].

Sincerely yours.

[codeberg - erueri/shakuhachi] <https://codeberg.org/EruEri/shakuhachi>

[codeberg - erueri/audacious-skhc-plugin]
<https://codeberg.org/EruEri/audacious-skhc-plugin>

Christian Lindig later said
───────────────────────────

• <https://github.com/rossberg/camp>

This is an MP3 player that claims to have good library management -
maybe worth a comparison.

.mlx syntax dialect
═══════════════════

Archive: <https://discuss.ocaml.org/t/ann-mlx-syntax-dialect/15035/22>

Continuing this thread, Andrey Popp announced
─────────────────────────────────────────────

Some updates from .mlx team (@davesnx and me):

• mlx 0.11 is released, OCaml 5.4 support + some lexer improvements
• ocamlformat-mlx 0.28.1 is released, OCaml 5.4 support + formatting
improvements
• ocaml-lsp-server and vscode’s OCaml Platform extension now have
first class support for .mlx

ocaml-posix release 4.0.0
═════════════════════════

Archive:
<https://discuss.ocaml.org/t/ann-ocaml-posix-release-4-0-0/17670/1>

Romain Beauxis announced
────────────────────────

Hi there!

I’m happy to report the release of `ocaml-posix' version `4.0.0':
<https://github.com/savonet/ocaml-posix>

This collection of modules was started some time ago with the goal of
centralizing and normalizing the patterns for binding constants, types
(including C `stuct' ) and functions from the POSIX standard using
`ctypes'.

The goal is to offer:

• A common set of tools and practices for structuring and binding
using `ctypes'.
• APIs and modules suitable for low-level `ctypes' use.
• High level APIs and modules suitable for direct OCaml use.
• Multi platform compatibility: `*BSD', `linux', `macos' and
~windows~when available.
• Cross-platform compilation using `dune''s awesome cross-compilation
support when applicable (currently only `posix-errno~and
~posix-socket')

With this release, 4 new modules have been added:

• `posix-errno' to deal with unix error numbers. Although there are
some alternatives already existing, this one is a more
straight-forward and modern implementation using `dune' for building
with cross-compilation and multi-platform support.
• `posix-stat', `posix-resource' and the extensive `posix-unistd'.

Hopefully these modules can be useful to more developers and provide a
common platform for interfacing OCaml programs with system calls in a
portable and extensible way!

FAQ:
╌╌╌╌

• Why is this not using `dune''s direct support for `ctypes'?

Cross-compilation support requires running binary compiled for the
target (e.g. `windows') on the host (e.g. `linux') in order to extract
specific data points such as C constants values and C struct entries
offset. Currently, this is not supported using `dune'' builtin
`ctypes' support. However, support for this is [being worked on].

[being worked on] <https://github.com/ocaml/dune/pull/13112>

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

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

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

• [I Cannot SSH Into My Server Anymore (And That’s Fine)]
• [Multi Domain OCaml on Raspberry Pi Pico 2 Microcontroller]

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

[I Cannot SSH Into My Server Anymore (And That’s Fine)]
<https://soap.coffee/~lthms/posts/i-cannot-ssh-into-my-server-anymore.html>

[Multi Domain OCaml on Raspberry Pi Pico 2 Microcontroller]
<https://www.tunbury.org/2025/12/31/ocaml-pico/>

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