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