OCaml Weekly News
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
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.
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.
OCaml/opam package manager support for Dependabot - I need your help
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?
shakuhachi 0.1.0 - A music collection manager
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.
Christian Lindig later said
This is an MP3 player that claims to have good library management - maybe worth a comparison.
.mlx syntax dialect
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
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
ctypesuse. - High level APIs and modules suitable for direct OCaml use.
- Multi platform compatibility:
*BSD,linux,macosand ~windows~when available. - Cross-platform compilation using
dune's awesome cross-compilation support when applicable (currently onlyposix-errno~and ~posix-socket)
With this release, 4 new modules have been added:
posix-errnoto deal with unix error numbers. Although there are some alternatives already existing, this one is a more straight-forward and modern implementation usingdunefor building with cross-compilation and multi-platform support.posix-stat,posix-resourceand the extensiveposix-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 forctypes?
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.
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.