Attn: Development Editor, Latest OCaml Weekly News
Alan Schmitt <[email protected]> Tue, 06 Jan 2026 14:14:55 +0100
| Newsgroups | gmane.comp.lang.caml.inria |
|---|---|
| Message-ID | <[email protected]> |
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:[email protected]>
[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/>