From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: plum.tunbury.org; dkim=pass (1024-bit key; unprotected) header.d=inria.fr header.i=@inria.fr header.a=rsa-sha256 header.s=dc header.b=qRg3W7EQ; dkim-atps=neutral Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=192.134.164.83; helo=mail2-relais-roc.national.inria.fr; envelope-from=caml-list-owner@inria.fr; receiver=tunbury.org Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by plum.tunbury.org (Postfix) with ESMTP id 3F6D840093 for ; Tue, 2 Jun 2026 09:01:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc; h=from:to:date:message-id:mime-version:subject:reply-to: sender:list-id:list-help:list-subscribe:list-unsubscribe: list-post:list-owner:list-archive; bh=kemq1C5JMwhaNQxTLHYub4bPAL+Pggxlwm0o8CQYipU=; b=qRg3W7EQcPjfkGDxD+nWMjIj4SdxatMlOIoD6LwsqBYzbKbhe45dfNX8 2ez1pU/hcPKlGk5LecqeXrymLg5XA/Bsf+hg8K8rb9QPd4beV61Kmgss+ cOO3RxQCMKGnGEzIXmlscZeug97LSFMK6u+B8qgcDnZronL+4gah9cHGx g=; X-CSE-ConnectionGUID: moD9wqIoTTezrCDDSwbGRA== X-CSE-MsgGUID: JsnFTx8uSIqjdLCpEW8b9A== Authentication-Results: mail2-relais-roc.national.inria.fr; dkim=none (message not signed) header.i=none; spf=SoftFail smtp.mailfrom=caml-list-owner@inria.fr; spf=None smtp.helo=postmaster@prod-sympa-app.inria.fr Received-SPF: SoftFail (mail2-relais-roc.national.inria.fr: domain of caml-list-owner@inria.fr is inclined to not designate 128.93.162.27 as permitted sender) identity=mailfrom; client-ip=128.93.162.27; receiver=mail2-relais-roc.national.inria.fr; envelope-from="caml-list-owner@inria.fr"; x-sender="caml-list-owner@inria.fr"; x-conformance=spf_only; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:128.93.142.0/24 ip4:192.134.164.0/24 ip4:128.93.162.160 ip4:128.93.162.3 ip4:128.93.162.88 ip4:89.107.174.7 mx ~all" Received-SPF: None (mail2-relais-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@prod-sympa-app.inria.fr) identity=helo; client-ip=128.93.162.27; receiver=mail2-relais-roc.national.inria.fr; envelope-from="caml-list-owner@inria.fr"; x-sender="postmaster@prod-sympa-app.inria.fr"; x-conformance=spf_only X-IronPort-AV: E=Sophos;i="6.24,183,1774306800"; d="asc'?scan'208,217";a="279363541" Received: from prod-sympa-app.inria.fr ([128.93.162.27]) by mail2-relais-roc.national.inria.fr with ESMTP; 02 Jun 2026 11:01:13 +0200 Received: by prod-sympa-app.inria.fr (Postfix, from userid 990) id E53188657F; Tue, 2 Jun 2026 11:01:12 +0200 (CEST) Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by prod-sympa-app.inria.fr (Postfix) with ESMTP id 1540D86566 for ; Tue, 2 Jun 2026 11:01:05 +0200 (CEST) X-CSE-ConnectionGUID: HFWc4MGDQ+C77DfkeU9ELg== X-CSE-MsgGUID: GYCceU4BStObzdlCmFZeaA== IronPort-SDR: 6a1e9bcf_frqnpUuD8hSR8CNOqxBBJJxBZBD7SRFxbOo7s1+YSFgt0U/ rGDZcZuuNw/WKSXJ1USSa+j/Y5JjWiwXyn2zo+g== X-ThreatScanner-Verdict: Negative X-IPAS-Result: =?us-ascii?q?A0EvPACcmh5qhSIeaIE+HBYIARILAQyDTVspGwFsXzMHC?= =?us-ascii?q?Elkgzg8g08JjhyBFoEqAY8MgjwShkVZgRANgVyBQSECDgcBAwEIBS4BGwQBA?= =?us-ascii?q?gQBAQECAQIBgguCdAKNMwIfBgEENBMBAgQDAgMBAQEBAQEBAQEBAQsBAQEEA?= =?us-ascii?q?QEBAgEBAgQDAQEBAQIQAQEBAUBJhhUIMg2CRVFTDRF0AQEBAQEBAQEBAQEBA?= =?us-ascii?q?QEiAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA?= =?us-ascii?q?QIEBAMBAQcBERtcDgECBgQGEwEBJgoCBhgWDQMUAQYDAhEBNRcBEhQGAYIPW?= =?us-ascii?q?AGCIAICTwMFDAZBljeacxo3en8zgQGCDAEBBoEIPgUDAQkDAQ4JJtoUgV4JC?= =?us-ascii?q?YE1GIFYhBmCTA8NASpJagIBAoRPhEAnD4FVRIEVNYFWZwdvgUIOgREBAQEBg?= =?us-ascii?q?SAEEQQDAQEIBjIMAQmDJYJpghEVgQyBXR4FYWsHbAUbASaBAGOBGIgAgkIsA?= =?us-ascii?q?VUTFwsHBV6BCAMqLy1uMh2BIz4XM1gbBwWBSoI/gQSFFSMfAzmBF4F/gStpa?= =?us-ascii?q?RADC209NxQbilwQIQ2BLkQZFw+BLQwvDh8fAQE8DwMOLAUBEwgMAgIgAi0BC?= =?us-ascii?q?A4LFAUGCAIBJw8GAwQBCQIZAS4FBgsCFBkDghKQMTgBAyMJAXSBbIdtiGSKQ?= =?us-ascii?q?giTUYEKNAeEH4FgBgyJCYEmgUOKI4ohhASBV4VAhX2HApJRIpgmPiKCNocog?= =?us-ascii?q?SYJgW9rhSKEa4sWKA0BBgICDwQMFgmELmiBfyMugS4zGjBDDQ6CTAkKDDEcD?= =?us-ascii?q?1cBiXqDWxaDYBCBLoEmgTs5O4E8wnRCNQIBATsHAgcBDASFawEBaYsdNG5dA?= =?us-ascii?q?QE?= IronPort-PHdr: A9a23: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 oIBZNBltCWlcJ4= IronPort-Data: A9a23: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 IronPort-HdrOrdr: A9a23:3d8IGKkA794U7nrhm1FsWtfPl3zpDfIV3DAbv31ZSRFFG/FwWf rOoB17726StN91YhpLpTnuAsS9qAznhPhICOUqUYtKPzOW2ldATrsD0WK4+UyEJ8SWzIc06U 4HScdD4bbLfDtHZKjBjjVQOuxQpOVv+ZrY/Nvj8w== X-Talos-CUID: 9a23:EvkriW1QhsN79h0Sks1d47xfOu4aeSH441vpYGTnVkpnS7CoGHK09/Yx X-Talos-MUID: 9a23:4bN/qQQmI9arwmPIRXTDtRppOfo0yZ+yL0ofnZEtvue2OCVZbmI= X-IronPort-Anti-Spam-Filtered: true X-IronPort-AV: E=Sophos;i="6.24,183,1774306800"; d="asc'?scan'208,217";a="279363432" X-URL-ContentFilter: X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown X-MGA-submission: =?us-ascii?q?MDFDRgXlS8v/4Vmou9kEcxzN9FIbhxjV7cctyH?= =?us-ascii?q?FtXpWq7fhwYah0VzJa75r/Hz+W5LJCCtDNsg2wQLPyjPtm9FgmhGtzfU?= =?us-ascii?q?Tuq7irJiqlHfF8V9zaT/8jD/W41MwOi7D6tduNJb/u+ZJ68DmCwYTDDx?= =?us-ascii?q?yfq2ijfpBEfDrCdSrzLNw3HA=3D=3D?= Received: from mx1.polytechnique.org ([129.104.30.34]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jun 2026 11:01:03 +0200 Received: from mac-03220211.irisa.fr (mac-03220211.irisa.fr [131.254.21.249]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ssl.polytechnique.org (Postfix) with ESMTPSA id 0E0E11A56E; Tue, 2 Jun 2026 11:01:03 +0200 (CEST) From: Alan Schmitt To: "lwn" , caml-list@inria.fr Date: Tue, 02 Jun 2026 11:01:00 +0200 Message-ID: MIME-Version: 1.0 Content-Type: multipart/signed; boundary="===-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-AV-Checked: ClamAV using ClamSMTP at svoboda.polytechnique.org (Tue Jun 2 11:01:03 2026 +0200 (CEST)) X-Spam-Flag: Unsure, tests=bogofilter, spamicity=0.499588, queueID=301E41A571 X-Org-Mail: alan.schmitt.1995@polytechnique.org Subject: [Caml-list] Attn: Development Editor, Latest OCaml Weekly News Reply-To: Alan Schmitt X-Loop: caml-list@inria.fr X-Sequence: 19523 Errors-To: caml-list-owner@inria.fr Precedence: list Precedence: bulk Sender: caml-list-request@inria.fr X-no-archive: yes List-Id: List-Help: , List-Subscribe: , List-Unsubscribe: , List-Post: List-Owner: List-Archive: Archived-At: --===-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: multipart/alternative; boundary="==-=-=" --==-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hello Here is the latest OCaml Weekly News, for the week of May 26 to June 02, 2026. Table of Contents =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80 Caml In The Capital: Register Now! June 3rd Slipshow! doctor 0.3.0: read-only OCaml environment diagnostics Solo5, a sandboxed execution environment for unikernels OCaml compiler office hours Call for Talk Proposals @ OCaml Workshop 2026 Old CWN Caml In The Capital: Register Now! June 3rd =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90= =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90=E2=95=90 Archive: Sacha Ayoun announced =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80 Hi everyone! Please register for next week's Caml In The Capital on June 3rd at [this link]. Since it will be hosted at JaneStreet, your registration will make it much easier for them to organise. *Important information*: Please bring a photo ID on the day of the event! =F0=9F=AA=AA Information about the even can be found on [our websi= te]. [this link] [our website] Logistics =E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2= =95=8C The event will be held at *Jane Street's London office*, located at 2 & A Half Devonshire Square, Premier Place, London, EC2M 4UJ. Check in will take place in the building lobby - *please bring a photo ID with you on the day*. =E2=8C=9B The event will begin at 17:30 with talks star= ting around 18:30. =F0=9F=8D=95Food and beverages will be served. Talks =E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C =E2=97=8A Dune Package Management *Speaker:* Ali Caglayan Abstract:* Dune package management is a *project with the goal of teaching dune how to build and use opam *packages. It has been in active development since 2023, and has *started to take shape into something more polished and *useful. Although it is still considered it experimental at this *stage, I will discuss what is possible with it today (relocatable *compiler, lockless building, OxCaml support), discuss some of the *features we are currently working on (in-and-out, dev-tools), and *finally give a glimpse of the road to stability. =E2=97=8A Opam=E2=80=99s Nix system dependency mechanism *Speaker:* Ryan Gibb Abstract:* The OCaml language package manager, *Opam, has support for interfacing with system package mangers to *provide dependencies external to the language. Supporting Nix *required re-thinking the abstractions used to interface with *traditional package managers, but enables using Opam for development *easily whilst benefitting from Nix=E2=80=99s reproducible system *dependencies. This provides one example of how Nix interfaces with *other software development and deployment technologies. Slipshow! =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90 Archive: Continuing this thread, Paul-Elliot announced =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80 First, a small announcement: Slipshow now has its [dedicated zulip]! Find help there while you are preparing your presentation, and show off your best works! It is after completing all the paperwork, that I am officially announcing the next release of lsipshow on opam: *Lspishow 0.11.0: Brazlip* You are not without knowing that a typo can have /darmatic/ consequences. As a result, we want *at all cost* to avoid committing one. This release allows splishow to display the errors directly in your editor. plsishow can now see everything you write, and directly reports any warning, typo or other terrorist misbehavior, for your own protection. Here is the live recording of a typo corrected in one of our presentation: The LPS server supports: =E2=80=A2 Displaying errors in opened buffers, =E2=80=A2 Completion for IDs in actions using IDs as arguments =E2=80=A2 Displaying documentation on hover for actions =E2=80=A2 Highlighting occurrences of an ID =E2=80=A2 Jump to definition for a given ID =E2=80=A2 Multi-file presentations =E2=80=A2 Synchronized preview server =E2=80=A2 Compilation on save Every release, I'm amazed to find a new, incredible, OCmal library. This time, it is [linlol], from @c-cbue. Thank you so much for creating and maintaining it! As alwyas, I'd also like to thank NNLet for their generous and invaluable support, and=E2=80=A6 =E2=9D=A4=EF=B8=8F my [sponsor]! =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80 =E2=94=82 $ opam update =E2=94=82 $ opam upgrade sipshow =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80 You can find the full changelog, as the PSL server is not the only improvement of this release! [dedicated zulip] [linlol] [sponsor] Added =E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C =E2=80=A2 Add a visual indicator for the state of the previewer (disconne= cted, refreshing, =E2=80=A6) (#220, #222) =E2=80=A2 Allow frontmatter in included files (#228) =E2=80=A2 (#229) Add an LSP server, available though the `slipshow lsp' command, to interact with your editor. The server supports: =E2=80=A2 Diagnostics =E2=80=A2 Documentation for actions on hover =E2=80=A2 Go to definition (from IDs in action, to the associated eleme= nt) =E2=80=A2 Occurrences of ID =E2=80=A2 Completion for IDs in actions =E2=80=A2 Add preview server capabilities to the LSP server (#233) =E2=80=A2 Add more syntax to include raw html, either in the file or as external file (#236) Changed =E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C =E2=80=A2 In frontmatter, distinguish between `attributes' (the attribute= s for the whole /file/) and `toplevel-attributes' (the attributes for the whole *presentation*). Change `toplevel-attributes' to `attributes' in your presentation to fix the breaking change. (#229) Fixed =E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C =E2=80=A2 Fixed hot-reload not resuming after a disconnect (#220) doctor 0.3.0: read-only OCaml environment diagnostics =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90= =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90= =E2=95=90=E2=95=90=E2=95=90 Archive: Funwithcthulhu announced =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80 Hi, I released `doctor' 0.3.0. `doctor' is a small read-only CLI for checking a local OCaml development environment. It reports common setup issues around opam, switches, PATH, dune, ocaml-lsp-server, ocamlformat, and the VS Code OCaml Platform extension. Install: =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80 =E2=94=82 opam update =E2=94=82 opam install doctor =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80 Basic use: =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80 =E2=94=82 doctor check =E2=94=82 doctor check --json =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80 The 0.3.0 release focuses on opam switch environment diagnostics. In particular, it tries to distinguish missing tools from cases where opam has an active switch but the current shell has not loaded that switch environment. For example, it can report when `ocaml' resolves outside the active switch, or when installed switch tools such as `dune', `ocamllsp', or `ocamlformat' are missing from `PATH'. The command does not run `opam init', create switches, install packages, or edit shell/editor files. It only reports what it sees and suggests commands to run manually. JSON output is intended for editor integrations or small scripts that want stable diagnostic names and exit-code mapping. Repository: opam package: Feedback on confusing diagnostics or missing common setup cases would be useful. Thanks! Solo5, a sandboxed execution environment for unikernels =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90= =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90= =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90 Archive: Calascibetta Romain announced =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80 I am delighted to announce the release of [Solo5.0.11.0]. This release is significant as it marks the start of performance improvements for our unikernels in OCaml. Although the project is written in C, it is a cornerstone of unikernel development. OCaml support is provided via [`ocaml-solo5'] (which tracks the OCaml compiler versions). Here is a simple example of a Solo5 (hvt) unikernel with OCaml: =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80 =E2=94=82 $ opam install ocaml-solo5 =E2=94=82 $ eval $(opam env) =E2=94=82 $ cat >startup.c< =E2=94=82=20 =E2=94=82 static char *argv[] =3D { "unikernel", NULL }; =E2=94=82=20 =E2=94=82 void _nolibc_init(uintptr_t, size_t); =E2=94=82=20 =E2=94=82 int solo5_app_main(const struct solo5_start_info *si) { =E2=94=82 _nolibc_init(si->heap_start, si->heap_size); =E2=94=82 caml_startup(argv); =E2=94=82 return (0); =E2=94=82 } =E2=94=82 EOF =E2=94=82 $ cat >manifest.json<main.ml<=3D 0x372000 < stack < 0x20000000 =E2=94=82 Hello World! =E2=94=82 Solo5: solo5_exit(0) called =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80 If you'd like to find out more about developing unikernels in OCaml, we recommend reading our [slide] (at the last MirageOS retreat) or tutorial on [`mnet'], available [here]. [Solo5.0.11.0] [`ocaml-solo5'] [slide] [`mnet'] [here] What is Solo5? =E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2= =95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C Solo5 is both a C framework and a set of tools for creating and running programmes within a sandbox that, initially, allows only 5 interactions with the outside world: 1) reading and writing Ethernet frames to a _net_ device 2) reading and writing pages to a _block_ device 3) exit All the functions available in the sandboxed environment are described in this [header]. What is notable about Solo5 is that this API works with [VirtIO], [Xen] (and [QubesOS]) and our minimalist hypervisor `hvt' (which runs on KVM, [BHyve] and [VMM]). This means that a Solo5 application can be deployed across a wide range of platforms. On Ubuntu, you can install Solo5 via: =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80 =E2=94=82 $ curl -fsSL https://apt.robur.coop/gpg.pub | \ =E2=94=82 gpg --dearmor > /etc/apt/trusted.gpg.d/apt.robur.coop.gpg =E2=94=82 $ echo "deb [signed-by=3D/etc/apt/trusted.gpg.d/apt.robur.coop.= gpg] https://apt.robur.coop ubuntu-24.04 main" > /etc/apt/sources.list.d/ro= bur.list =E2=94=82 $ apt update =E2=94=82 $ apt install solo5 =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80 [header] [VirtIO] [Xen] [QubesOS] [BHyve] [VMM] `hvt' unikernels =E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2= =95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C At [Robur], we prefer to build `hvt' unikernels. These unikernels only require the `solo5-hvt' "tender" (~200 KB) to run, which is available on Linux, FreeBSD and OpenBSD (WSL supports what is known as _nested_ virtualisation, so it is also possible to run a unikernel on WSL!). The advantage of `hvt' is its minimalism (a hallmark of Solo5 in general). This latest release completes the sandboxing on Linux by using `libseccomp' to retain privileges only for what is necessary to run the unikernel (which amounts to 18 system calls in total). This sandboxing was already available for FreeBSD with [Capsicum] and OpenBSD with [pledge(2)]. This release also marks an improvement in throughput when writing Ethernet frames to a tap interface on Linux, achieved through the use of [eventfd(2)] and a parallel thread that writes directly to the tap interface. This allows us to use fewer costly VM exits. To this end, we ran a benchmark using [`iperf3'] (and [a unikernel] implementing this protocol with [`mnet']) to demonstrate the improvement in throughput. =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81 solo5.0.10.1 solo5.0.11.0=20=20=20=20 =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80 ~700 Mbits/sec ~2.15 Gbits/sec=20 =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81 [Robur] [Capsicum] [pledge(2)] [eventfd(2)] [`iperf3'] [a unikernel] [`mnet'] Deploy unikernels =E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2= =95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95= =8C At [Robur], we aim to make deploying unikernels as straightforward as possible. That is why we have developed a suite of software and unikernels designed to deploy a range of services: 1) [Albatross] is a project (also installable via `apt') that allows you to run a daemon capable of launching and monitoring `hvt' unikernels. The advantage is that this service was specifically designed for `hvt' unikernels (although, more recently, we have been able to deploy systems). 2) [dnsvizor] is one of our unikernels that resolves the issue of IP addressing and DNS resolution. The idea is to launch such a unikernel and have subsequent ones configure their networks in relation to it. 3) Finally, we are actively developing [mollymawk], a unikernel that provides a web interface for Albatross to enable the deployment of new unikernels (in the simplest way possible). We have also developed [`aussi'] (still very much in the *experimental* stage), which is an [OCI] runtime for our unikernels. Among other things, this allows us to use [Docker] to build and deploy our unikernels. An example using our unikernels [`annuaire'] is available [here]. [Robur] [Albatross] [dnsvizor] [mollymawk] [`aussi'] [OCI] [Docker] [`annuaire'] [here] Develop unikernels =E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2= =95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95= =8C=E2=95=8C Finally, there is the other aspect of unikernels and their development. At Robur, we are therefore trying to develop libraries (particularly protocols and formats) to help potential new users develop new unikernels themselves (so that there is a sense of ownership). So please do not hesitate to ask us any questions on this subject! In this regard, for several years now we have been developing a number of libraries that enable the development of standard unikernels: =E2=80=A2 we are continuing to develop [Miou] as our scheduler for our unikernels (as well as our services) =E2=80=A2 we are developing [`mnet'] and [`utcp'], which is our new TCP/IP stack for our unikernels =E2=80=A2 [`mfat'], a FAT32 file system for unikernels, is also available =E2=80=A2 and finally [`vifu'], a web framework for developing your websi= te as a unikernel, is also available =E2=80=A2 and many other projects that we have been maintaining for sever= al years now! [Miou] [`mnet'] [`utcp'] [`mfat'] [`vifu'] Conclusion =E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2= =95=8C=E2=95=8C This release gives us the opportunity to provide a comprehensive (and accessible) overview of our cooperative=E2=80=99s work. This work essenti= ally involves creating the necessary components for the development and deployment of unikernels in OCaml, whilst embracing the idea of reclaiming control over the means of communication and production. Happy hacking! OCaml compiler office hours =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90= =E2=95=90=E2=95=90 Archive: Continuing this thread,gasche announced =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80 Dear all, This is a reminder that the OCaml Compiler Office Hours will take place again next week, on Friday June 5th at 11:00-12:00 UTC (in local time, [date-range from=3D2026-06-05T11:00:00 to=3D2026-06-05T12:00:00 timezone=3DUTC]). The collaborative notes for this meeting are available at : They are mostly empty so far, please feel free to add topics that you would like to see discussed in the meeting. (It's fine to put a question here even if you cannot attend anyway, we can answer it anyway and it leads to good discussions.) The video link is also there, and it may still change. Call for Talk Proposals @ OCaml Workshop 2026 =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90= =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90=E2=95=90=E2=95=90=E2=95=90 Archive: Sudha Parimala announced =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80 Hi all! This year's OCaml workshop will take place in Paris. We are happy to invite submissions to the workshop. Important Information =E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2= =95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95= =8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C =E2=80=A2 *Location:* Paris (co-located with [FPW 2026]) =E2=80=A2 *Date:* August 27th (*Subject to change!* Possible alternative: August 31st) =E2=80=A2 *Submission deadline:* July 1st, AoE =E2=80=A2 *Speaker notification:* July 27th =E2=80=A2 *Submission website:* [https://types-hotcrp.paris.inria.fr/ocam= l26/] [FPW 2026] [https://types-hotcrp.paris.inria.fr/ocaml26/] Scope =E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C The OCaml Workshop welcomes a broad audience of OCaml users ranging from enthusiasts who are discovering the magic of OCaml to wizards well-proficient in the cast of unsafe spells. Their common denominator is their passion for OCaml and the desire to learn more, connect with fellow OCamlers, and collectively find ways to improve the language. We invite talk proposals just as broad: *anything OCaml related* is welcome! The topics are not limited to the following, but, to give an idea, examples from previous years include: OCaml editing tools, verified OCaml artefacts, interoperability between OCaml and other languages, the OCaml code of conduct, compiler optimisations, OS portability, OCaml testing frameworks, packages for concurrency in OCaml, etc. The full catalogue from previous editions can be accessed through the links below: =E2=80=A2 2025: [https://ocaml.org/conferences/ocaml-workshop-2025] =E2=80=A2 2024: [https://ocaml.org/conferences/ocaml-workshop-2024] =E2=80=A2 2023: [https://ocaml.org/conferences/ocaml-workshop-2023] =E2=80=A2 2022: [https://ocaml.org/conferences/ocaml-workshop-2022] =E2=80=A2 2021: [https://ocaml.org/conferences/ocaml-workshop-2021] [https://ocaml.org/conferences/ocaml-workshop-2025] [https://ocaml.org/conferences/ocaml-workshop-2024] [https://ocaml.org/conferences/ocaml-workshop-2023] [https://ocaml.org/conferences/ocaml-workshop-2022] [https://ocaml.org/conferences/ocaml-workshop-2021] Format =E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C In addition to the *Standard Talk* format of 20 minutes, we allow the following formats: =E2=80=A2 *Demo.* 30 minutes tutorial-style demonstration of a tool. =E2=80=A2 *Informed Position.* 20 minutes presentation on topics in the d= esign space of OCaml (such as, but not limited to, the inclusion or removal of a feature). =E2=80=A2 *Experience Report.* 20 minutes report on the use of OCaml or a tool. Submission =E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2= =95=8C=E2=95=8C The submission website is available at: [https://types-hotcrp.paris.inria.fr/ocaml26/] Please submit a description of the talk (typically two to three pages long; it could also be less or more): the problems that are addressed and the solutions or methods that are proposed. If you believe the delivery itself is a unique feature of the talk, please feel free to also include a description of how you plan to deliver the talk. LaTeX-produced PDFs are common but not required. Last year's accepted presentations are available online: [https://icfp25.sigplan.org/home/ocaml-2025#event-overview] [https://types-hotcrp.paris.inria.fr/ocaml26/] [https://icfp25.sigplan.org/home/ocaml-2025#event-overview] =E2=97=8A Evaluation Criteria We will evaluate submissions according to: =E2=80=A2 Relevance for the OCaml community =E2=80=A2 Rigor and soundness =E2=80=A2 Novelty =E2=80=A2 Clarity =E2=80=A2 Potential to deliver an engaging and informative presentation Recommendations on LLM Usage =E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2= =95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95= =8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C= =E2=95=8C=E2=95=8C=E2=95=8C Proposals largely written by LLMs are not acceptable and will be desk-rejected. The use of LLMs to correct grammar and enhance style is perfectly fine (especially if English is not your first language), but their use to produce material directly is dangerous and unprofessional, and undermines both authorship and reviewer effort. Location Information =E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2= =95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95= =8C=E2=95=8C=E2=95=8C=E2=95=8C This edition of the Caml Workshop will be located in Paris as part of [Functional Programming Workshops (FPW) 2026], alongside other workshops and events taking place at the end of August. This is a departure from the usual habit of having the OCaml Workshop co-located with ICFP. Because some FPW'26 events are bi-located with ICFP, the events will take place at roughly the same dates. [Functional Programming Workshops (FPW) 2026] Co-ordination with ML Workshop =E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2= =95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95= =8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C= =E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C The [ML Family Workshop] is also co-located with FW '26 this year and may be of interest to attendees. While the OCaml Workshop focuses on developments in the OCaml ecosystem, the ML Workshop is language-agnostic and more research oriented. Authors whose submissions fit both venues are welcome to indicate this at submission time or reach out to the program chairs. [ML Family Workshop] Program Committee =E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2= =95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95= =8C =E2=80=A2 Cl=C3=A9ment Allain =E2=80=A2 Pedro Carrott =E2=80=A2 Simon Cruanes =E2=80=A2 Marko Doko =E2=80=A2 Patrick Ferris =E2=80=A2 Jean-Christophe Filli=C3=A2tre =E2=80=A2 Sadiq Jaffer =E2=80=A2 Robbert Krebbers =E2=80=A2 Vincent Laviron =E2=80=A2 Tim McGilchrist =E2=80=A2 Ant=C3=B3nio Monteiro =E2=80=A2 Carine Morel =E2=80=A2 Andreas Rossberg =E2=80=A2 Vimala Soundarapandian =E2=80=A2 J=C3=A9r=C3=B4me Vouillon =E2=80=A2 John Whitington =E2=80=A2 Paulo de Vilhena (Chair) =E2=80=A2 Sudha Parimala (Chair) Old CWN =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90 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] [the archive] [RSS feed of the archives] [caml-list] [Alan Schmitt] --==-=-= Content-Type: text/html; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable OCaml Weekly News

OCaml Weekly News

Previous Week<= /a> Up Next Week

Hello

Here is the latest OCaml Weekly News, for the week of May 26 to June 02, 20= 26.

Caml In The Capital: Register Now! June 3rd

Sacha Ayoun announced

Hi everyone!

Please register for next week's Caml In The Capital on June 3rd at this link. Since it will be hosted at JaneStreet, your registratio= n will make it much easier for them to organise.

Important information: Please bring a photo ID on the day of the eve= nt! =F0=9F=AA=AA Information about the even can be found on our website.

Logistics

The event will be held at Jane Street's London office, located at 2 = & A Half Devonshire Square, Premier Place, London, EC2M 4UJ. Check in will take place in the building lobby - please bring a photo ID= with you on the day. =E2=8C=9B The event will begin at 17:30 with talks starting around 18:30. =F0=9F=8D=95Food and beverages will be served.

Talks

  • Dune Package Management

    Speaker: Ali Caglayan Abstract: Dune package management is a project with the goal of teac= hing dune how to build and use opam packages. It has been in active develop= ment since 2023, and has started to take shape into something more polished= and useful. Although it is still considered it experimental at this stage,= I will discuss what is possible with it today (relocatable compiler, lockl= ess building, OxCaml support), discuss some of the features we are currentl= y working on (in-and-out, dev-tools), and finally give a glimpse of the roa= d to stability.

  • Opam=E2=80=99s Nix system dependency mechanism=

    Speaker: Ryan Gibb Abstract: The OCaml language package manager, Opam, has support for = interfacing with system package mangers to provide dependencies external to= the language. Supporting Nix required re-thinking the abstractions used to= interface with traditional package managers, but enables using Opam for de= velopment easily whilst benefitting from Nix=E2=80=99s reproducible system = dependencies. This provides one example of how Nix interfaces with other so= ftware development and deployment technologies.

Slipshow!

Continuing this thread, Paul-Elliot announced

First, a small announcement: Slipshow now has its dedicated zulip! Find help there while you are prepa= ring your presentation, and show off your best works!

It is after completing all the paperwork, that I am officially announcing t= he next release of lsipshow on opam:

Lspishow 0.11.0: Brazlip

You are not without knowing that a typo can have darmatic consequenc= es. As a result, we want at all cost to avoid committing one.

This release allows splishow to display the errors directly in your editor.= plsishow can now see everything you write, and directly reports any warnin= g, typo or other terrorist misbehavior, for your own protection.

Here is the live recording of a typo corrected in one of our presentation:

https://github.com/user-attachments/assets/a= c675cdf-1d08-41e4-b384-25a3bfd764ef

The LPS server supports:

  • Displaying errors in opened buffers,
  • Completion for IDs in actions using IDs as arguments
  • Displaying documentation on hover for actions
  • Highlighting occurrences of an ID
  • Jump to definition for a given ID
  • Multi-file presentations
  • Synchronized preview server
  • Compilation on save

Every release, I'm amazed to find a new, incredible, OCmal library. This ti= me, it is linlol, from @c-c= bue. Thank you so much for creating and maintaining it!

As alwyas, I'd also like to thank NNLet for their generous and invaluable s= upport, and… =E2=9D=A4=EF=B8=8F my sponsor!

$ opam update
$ opam upgrade sipshow

You can find the full changelog, as the PSL server is not the only improvem= ent of this release!

Added

  • Add a visual indicator for the state of the previewer (disconnected, refreshing, …) (#220, #222)
  • Allow frontmatter in included files (#228)
  • (#229) Add an LSP server, available though the slipshow lsp command, to interact with your editor. The server supports:
    • Diagnostics
    • Documentation for actions on hover
    • Go to definition (from IDs in action, to the associated element)
    • Occurrences of ID
    • Completion for IDs in actions
  • Add preview server capabilities to the LSP server (#233)
  • Add more syntax to include raw html, either in the file or as external = file (#236)

Changed

  • In frontmatter, distinguish between attributes (the attrib= utes for the whole file) and toplevel-attributes (the a= ttributes for the whole presentation). Change toplevel-attribu= tes to attributes in your presentation to fix the break= ing change. (#229)

Fixed

  • Fixed hot-reload not resuming after a disconnect (#220)

doctor 0.3.0: read-only OCaml environment diagnostics

Funwithcthulhu announced

Hi,

I released doctor 0.3.0.

doctor is a small read-only CLI for checking a local OCaml dev= elopment environment. It reports common setup issues around opam, switches,= PATH, dune, ocaml-lsp-server, ocamlformat, and the VS Code OCaml Platform = extension.

Install:

opam update
opam install doctor

Basic use:

doctor check
doctor check --json

The 0.3.0 release focuses on opam switch environment diagnostics. In partic= ular, it tries to distinguish missing tools from cases where opam has an ac= tive switch but the current shell has not loaded that switch environment.

For example, it can report when ocaml resolves outside the act= ive switch, or when installed switch tools such as dune, ocamllsp, or ocamlformat are missing from PATH.

The command does not run opam init, create switches, install p= ackages, or edit shell/editor files. It only reports what it sees and sugge= sts commands to run manually.

JSON output is intended for editor integrations or small scripts that want = stable diagnostic names and exit-code mapping.

Repository:

https://github.com/fun= withcthulhu/doctor

opam package:

https://opam.ocaml.org/= packages/doctor/

Feedback on confusing diagnostics or missing common setup cases would be us= eful.

Thanks!

Solo5, a sandboxed execution environment for unikernels

Calascibetta Romain announced

I am delighted to announce the release of Solo5.0.11.0. This release is significant as it marks the sta= rt of performance improvements for our unikernels in OCaml.

Although the project is written in C, it is a cornerstone of unikernel deve= lopment. OCaml support is provided via ocaml-solo5 (which tracks the OCaml compiler= versions). Here is a simple example of a Solo5 (hvt) unikernel with OCaml:

$ opam install ocaml-solo5
$ eval $(opam env)
$ cat >startup.c<<EOF
#include "solo5.h"
#include <caml/callback.h>

static char *argv[] =3D { "unikernel", NULL=
 };

void _nolibc_init(uintptr_t, size_t);

int solo5_app_main(const struct solo5_start=
_info *si) {
  _nolibc_init(si->heap_start, si->he=
ap_size);
  caml_startup(argv);
  return (0);
}
EOF
$ cat >manifest.json<<EOF
{
  "type": "solo5.manifest",
  "version": 1,
  "devices": []
}
EOF
$ cat >main.ml<<EOF
let () =3D print_endline "Hello World!"
EOF
$ solo5-elftool gen-manifest manifest.json manifest.c
$ ocamlfind -toolchain solo5 opt \
  manifest.c startup.c main.ml \
  -cclib "-z solo5-abi=3Dhvt" -o mai=
n.hvt
$ solo5-hvt -- main.hvt
            |      ___|
  __|  _ \  |  _ \ __ \
\__ =
\ (   | | (   |  ) |
____/\___/ _|\___/____/
Solo5: Bindings version v0.11.0
Solo5: Memory map: 512 MB addressable:
Solo5:   reserved @ (0x0 - 0xfffff)
Solo5:       text @ (0x100000 - 0x14efff)
Solo5:     rodata @ (0x14f000 - 0x166fff)
Solo5:       data @ (0x167000 - 0x371fff)
Solo5:       heap >=3D 0x372000 < stack < 0x20000000
Hello World!
Solo5: solo5_exit(0) called

If you'd like to find out more about developing unikernels in OCaml, we rec= ommend reading our slide (at the last MirageOS retreat) or tutorial = on mnet, av= ailable here.

What is Solo5?

Solo5 is both a C framework and a set of tools for creating and running pro= grammes within a sandbox that, initially, allows only 5 interactions with t= he outside world:

  1. reading and writing Ethernet frames to a net<= /span> device
  2. reading and writing pages to a block d= evice
  3. exit

All the functions available in the sandboxed environment are described in t= his he= ader.

What is notable about Solo5 is that this API works with VirtIO, Xen (and QubesOS) and our m= inimalist hypervisor hvt (which runs on KVM, BHyve and VMM= ). This means that a Solo5 application can be deployed across a wide range = of platforms. On Ubuntu, you can install Solo5 via:

$ curl -fsSL https://apt.robur.coop/gpg.=
pub | \
  gpg --dearmor > /etc/apt/trusted.gpg.d/apt.robur.coop.gpg
$ echo "deb [signed-by=3D/etc/apt/trusted.g=
pg.d/apt.robur.coop.gpg] https://apt.robur.coop ubuntu-24.04 main" &=
gt; /etc/apt/sources.list.d/robur.list
$ apt update
$ apt install solo5

hvt unikernels

At Robur, we prefer to build hvt<= /code> unikernels. These unikernels only require the solo5-hvt= "tender" (~200 KB) to run, which is available on Linux, FreeBSD and OpenBS= D (WSL supports what is known as nested vi= rtualisation, so it is also possible to run a unikernel on WSL!).=20

The advantage of hvt is its minimalism (a hallmark of Solo5 in= general). This latest release completes the sandboxing on Linux by using <= code>libseccomp to retain privileges only for what is necessary to r= un the unikernel (which amounts to 18 system calls in total). This sandboxi= ng was already available for FreeBSD with Capsicum and OpenBSD with pledge(2).

This release also marks an improvement in throughput when writing Ethernet = frames to a tap interface on Linux, achieved through the use of eventfd(2) and a = parallel thread that writes directly to the tap interface. This allows us t= o use fewer costly VM exits.

To this end, we ran a benchmark using iperf3 (and a unikernel implementing this protocol with mnet) to demonstrate the = improvement in throughput.

solo5.0.10.1 solo5.0.11.0
~700 Mbits/sec ~2.15 Gbits/sec

Deploy unikernels

At Robur, we aim to make deploying unik= ernels as straightforward as possible. That is why we have developed a suit= e of software and unikernels designed to deploy a range of services:

  1. Albatross is a = project (also installable via apt) that allows you to run a da= emon capable of launching and monitoring hvt unikernels. The a= dvantage is that this service was specifically designed for hvt unikernels (although, more recently, we have been able to deploy systems)= .
  2. dnsvizor is one = of our unikernels that resolves the issue of IP addressing and DNS resoluti= on. The idea is to launch such a unikernel and have subsequent ones configu= re their networks in relation to it.
  3. Finally, we are actively developing mollymawk, a unikernel that provides a web interface f= or Albatross to enable the deployment of new unikernels (in the simplest wa= y possible).

We have also developed aussi (still very much in the experimental stage), whic= h is an OCI runtime for our uni= kernels. Among other things, this allows us to use Docker to build and deploy our unikernels. An example using= our unikernels ann= uaire is available here.

Develop unikernels

Finally, there is the other aspect of unikernels and their development. At = Robur, we are therefore trying to develop libraries (particularly protocols= and formats) to help potential new users develop new unikernels themselves= (so that there is a sense of ownership).

So please do not hesitate to ask us any questions on this subject!

In this regard, for several years now we have been developing a number of l= ibraries that enable the development of standard unikernels:

  • we are continuing to develop Miou as our scheduler for our unikernels (as well as our services)=
  • we are developing = mnet and ut= cp, which is our new TCP/IP stack for our unikernels
  • mfat, a= FAT32 file system for unikernels, is also available
  • and finally vifu, a web framework for developing your website as a unikernel, is al= so available
  • and many other projects that we have been maintaining for several years= now!

Conclusion

This release gives us the opportunity to provide a comprehensive (and acces= sible) overview of our cooperative=E2=80=99s work. This work essentially in= volves creating the necessary components for the development and deployment= of unikernels in OCaml, whilst embracing the idea of reclaiming control ov= er the means of communication and production.

Happy hacking!

OCaml compiler office hours

Continuing this thread,gasche announced

Dear all,

This is a reminder that the OCaml Compiler Office Hours will take place aga= in next week, on Friday June 5th at 11:00-12:00 UTC (in local time, [date-r= ange from=3D2026-06-05T11:00:00 to=3D2026-06-05T12:00:00 timezone=3DUTC]).

The collaborative notes for this meeting are available at : https://notes.irif.fr/UGGkT7aqTpm= OCsqvW2VFZQ They are mostly empty so far, please feel free to add topics that you would= like to see discussed in the meeting. (It's fine to put a question here ev= en if you cannot attend anyway, we can answer it anyway and it leads to goo= d discussions.)

The video link is also there, and it may still change.

Call for Talk Proposals @ OCaml Workshop 2026

Sudha Parimala announced

Hi all! This year's OCaml workshop will take place in Paris. We are happy t= o invite submissions to the workshop.

3D"df969f0f9bb4c84=

Important Information

Scope

The OCaml Workshop welcomes a broad audience of OCaml users ranging from en= thusiasts who are discovering the magic of OCaml to wizards well-proficient= in the cast of unsafe spells. Their common denominator is their passion fo= r OCaml and the desire to learn more, connect with fellow OCamlers, and col= lectively find ways to improve the language.

We invite talk proposals just as broad: anything OCaml related is we= lcome!

The topics are not limited to the following, but, to give an idea, examples= from previous years include: OCaml editing tools, verified OCaml artefacts= , interoperability between OCaml and other languages, the OCaml code of con= duct, compiler optimisations, OS portability, OCaml testing frameworks, pac= kages for concurrency in OCaml, etc.

The full catalogue from previous editions can be accessed through the links= below:

Format

In addition to the Standard Talk format of 20 minutes, we allow the = following formats:

  • Demo. 30 minutes tutorial-style demonstration of a tool.
  • Informed Position. 20 minutes presentation on topics in the desi= gn space of OCaml (such as, but not limited to, the inclusion or removal of= a feature).
  • Experience Report. 20 minutes report on the use of OCaml or a to= ol.

Submission

The submission website is available at: https://types-hotcrp.paris.inria.fr/ocaml26/

Please submit a description of the talk (typically two to three pages long;= it could also be less or more): the problems that are addressed and the so= lutions or methods that are proposed. If you believe the delivery itself is= a unique feature of the talk, please feel free to also include a descripti= on of how you plan to deliver the talk.

LaTeX-produced PDFs are common but not required.

Last year's accepted presentations are available online: https://icfp25.sigplan.= org/home/ocaml-2025#event-overview

  • Evaluation Criteria

    We will evaluate submissions according to:

    • Relevance for the OCaml community
    • Rigor and soundness
    • Novelty
    • Clarity
    • Potential to deliver an engaging and informative presentation

Recommendations on LLM Usage

Proposals largely written by LLMs are not acceptable and will be desk-rejec= ted. The use of LLMs to correct grammar and enhance style is perfectly fine= (especially if English is not your first language), but their use to produ= ce material directly is dangerous and unprofessional, and undermines both a= uthorship and reviewer effort.

Location Information

This edition of the Caml Workshop will be located in Paris as part of Functiona= l Programming Workshops (FPW) 2026, alongside other workshops and event= s taking place at the end of August. This is a departure from the usual hab= it of having the OCaml Workshop co-located with ICFP. Because some FPW'26 e= vents are bi-located with ICFP, the events will take place at roughly the s= ame dates.

Co-ordination with ML Workshop

The ML Family Workshop is also co-located with FW '26 this year and may be= of interest to attendees. While the OCaml Workshop focuses on developments= in the OCaml ecosystem, the ML Workshop is language-agnostic and more rese= arch oriented. Authors whose submissions fit both venues are welcome to ind= icate this at submission time or reach out to the program chairs.

Program Committee

  • Cl=C3=A9ment Allain
  • Pedro Carrott
  • Simon Cruanes
  • Marko Doko
  • Patrick Ferris
  • Jean-Christophe Filli=C3=A2tre
  • Sadiq Jaffer
  • Robbert Krebbers
  • Vincent Laviron
  • Tim McGilchrist
  • Ant=C3=B3nio Monteiro
  • Carine Morel
  • Andreas Rossberg
  • Vimala Soundarapandian
  • J=C3=A9r=C3=B4me Vouillon
  • John Whitington
  • Paulo de Vilhena (Chair)
  • Sudha Parimala (Chair)

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 loo= k at the archive or the <= a href=3D"https://alan.petitepomme.net/cwn/cwn.rss">RSS feed of the archive= s.

If you also wish to receive it every week by mail, you may subscribe to the= caml-list.

--==-=-=-- --=-=-=-- --===-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQFvBAEBCABZFiEE6lXof/BsSVW56ZmGBA0KO07S5ccFAmoem8wbFIAAAAAABAAO bWFudTIsMi41KzEuMTIsMCwzHxxhbGFuLnNjaG1pdHRAcG9seXRlY2huaXF1ZS5v cmcACgkQBA0KO07S5cesHggAza6WLfbbeX9SCdUTitvqbXLUb0sEcPudCaW31J2p hQpSKAcM+eHZBJ8DbVgDKSXW/inwmSBh1nIuUcxpDFeID8Kkcrs+UCs0gfsvsAco B2CveYeM+fLtEFpGsXOVrw7z5opGCMiDnErGu86cUyV7dWI7Kh4+ib+wq5CxKQzy pmXWIyolKvBlOifs6EerymRU1stimMzhl9NABX3zrD3Th+nX6CqkSP3BZ4RrHCLK hX5bp+JY8rk0Lu11pUg2OYKC2cYVpM1emd1+ZGa9l7wdxsWSiBVPurv38lhNYxd1 tWx2Yz/MueYc8pIRgNWTr/fR9DxCEo/2FhE0qpAfko9mmQ== =ocmg -----END PGP SIGNATURE----- --===-=-=--