OCaml Weekly News

Previous Week Up Next Week

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

Other OCaml News

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.