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=gDfwyvt2; 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 43FFD40083 for ; Tue, 10 Feb 2026 10:36:50 +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=QSx0bAxBFBTlyzHxGyOrgwi4gL0Qx1XD+wk5dRvI/10=; b=gDfwyvt2/zpgE1Xm9GcSG7wpvuhcvH1aB/QMyNaWj0JCgNSiuCuO3Ge+ ypi4vxK7c1wqYzrMcGT/MdHJrw/FnySuW/tY2AqxBkNCoRXSFg3kA1oHH uw1g7Q3iOMbppm1LmcxFPo1sDwgbkUk6xYxhqZAUqGBRF8QNntIxscbFK 4=; X-CSE-ConnectionGUID: 8rSXxn2+Qk+3qYDzuFzVTg== X-CSE-MsgGUID: xwsM7zQASKir6itUBy8LQA== 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 include:mailout.safebrands.com a:basic-mail.safebrands.com a:basic-mail01.safebrands.com a:basic-mail02.safebrands.com 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.21,283,1763420400"; d="scan'208,217";a="262770471" Received: from prod-sympa-app.inria.fr ([128.93.162.27]) by mail2-relais-roc.national.inria.fr with ESMTP; 10 Feb 2026 11:36:50 +0100 Received: by prod-sympa-app.inria.fr (Postfix, from userid 990) id 3C23D82150; Tue, 10 Feb 2026 11:36:50 +0100 (CET) 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 0A4DF82103 for ; Tue, 10 Feb 2026 11:36:35 +0100 (CET) X-CSE-ConnectionGUID: TXZhqfeGSGmtmP1rySkWcQ== X-CSE-MsgGUID: ED3dgrafRfifwKcYB/ADjA== IronPort-SDR: 698b0a32_cf6JZAGAFAOQlFZyuO9HixWZaC8KwufP9NOl4Kp4zgPn70+ YAQQmatolhcC94zHNvFa9RVh/mXmmUX+kF6LLSg== X-ThreatScanner-Verdict: Negative X-IPAS-Result: =?us-ascii?q?A0EaAwA+CYtphSIeaIFahBaBBBoBbF8zBwhJhFiDT44ln?= =?us-ascii?q?EiDFRYiFgEDAQ0uARUKAQIEAQEDAQIBggyCdAKNHQIfBgEENBMBAgQBAQEBA?= =?us-ascii?q?wIDAQEBAQEBAQEBDQEBBQEBAQIBAQIEBgECEAEBAQFASYZPDYJFGThxYQQDB?= =?us-ascii?q?jcBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECB?= =?us-ascii?q?AgBCDplChMBATgYFg0DFAcDAhEBNQMBEwESFAaCaAGCIAICTwMFDAaNX5tOe?= =?us-ascii?q?oEygQGCDAEBBoEIPgMCAgcCBQEOCSbaEYFnCYFNhW6CShsBKklRGgEChE0Jh?= =?us-ascii?q?DICJw+BVUSBFTWCRG+BfkELFwEBAQEYRF0DAQEOMg0JgyWCaYImehQdgUeBa?= =?us-ascii?q?YoXBYYSgURLMywBVRMXCwcFXoEIAyovLW4yHYEjPhcyWBsHBYgtD4kPgWiBI?= =?us-ascii?q?F0DC209NxQbjzNCGRgqgWYOCoFDFBYCBUkCCA4rIiwJBEZFkkIMDCgsdZx9k?= =?us-ascii?q?lOBI200B4QfgV4GDIkIgSaSMINXhASBV4s8hwKSUiKYJj4iiV6BJgmCWpVgE?= =?us-ascii?q?w2FOIF/I4ErAR0MBzMaMEMNBwOCHAEBMgkKPBwPkiGBPoMaO4E8vGlCNQIBA?= =?us-ascii?q?TgCBwEKAQEDCYViAQGMOoFLAQE?= IronPort-PHdr: A9a23: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 mg8ZRM= IronPort-Data: A9a23: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 kBtLV15rIqHpYId3Cqul7O52P3Ugd838wgVUA== IronPort-HdrOrdr: A9a23:Kt3IEayx6me3cvQe7NHlKrPwE71zdoMgy1knxilNoH1uA66lfq WV9pkmPHDP6Qr5NEtNpTniAtjifZq/z/5ICOAqVN/IYOCMggWVxe9ZgrfK8nnJJGnV9+JW16 tsGpIObeHYPBxdlsi/xAG5Fr8bsb66GU2T9IPj80s= X-Talos-CUID: 9a23:AqTGC2985bV88438DeGVv3IkKMA8fHDy91jVP0qAUHx4c76qQmbFrQ== X-Talos-MUID: 9a23:HXlibgSXsk/xRjp1RXTBqGpuO91h7Z6gCU4Ssp43kY6tGS5ZbmI= X-IronPort-Anti-Spam-Filtered: true X-IronPort-AV: E=Sophos;i="6.21,283,1763420400"; d="scan'208,217";a="262770360" X-MGA-submission: =?us-ascii?q?MDHftlGFksMqfBL51pz9zMvpJ/Qn96nOIitPoh?= =?us-ascii?q?4zZs6Z1la3yq9Kp19n5JRMzg/euaJbZG6oJGxqVAVr6ukiY9kNF36CGE?= =?us-ascii?q?uPR5rm5cc0WdiodeuuSOlN9WcnVWRYfQziq1cGHLdqcyEYpL3bWG47tZ?= =?us-ascii?q?gRHf9sZnG+ScfsI9yq1dFS+g=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; 10 Feb 2026 11:36:34 +0100 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 1FED91A384; Tue, 10 Feb 2026 11:36:34 +0100 (CET) From: Alan Schmitt To: "lwn" , caml-list@inria.fr Date: Tue, 10 Feb 2026 11:36:33 +0100 Message-ID: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="=-=-=" X-AV-Checked: ClamAV using ClamSMTP at svoboda.polytechnique.org (Tue Feb 10 11:36:34 2026 +0100 (CET)) X-Spam-Flag: Unsure, tests=bogofilter, spamicity=0.499199, queueID=39F1B1A3BA 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: 19446 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: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hello Here is the latest OCaml Weekly News, for the week of February 03 to 10, 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 intel_hex.0.3 layoutz 0.0.2 - a tiny DSL for beautiful CLI output in OCaml =F0=9F=AA=B6 New release of Menhir (20260122) Caml in the Capital - Registrations Open! An experimental branch of Merlin based on Domains and Effects Other OCaml News Old CWN intel_hex.0.3 =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: Mikhail 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 Hi there! I am excited to announce the release of the [intel_hex] library. This library is a manipulation library that provides functions for reading, writing, and creating Intel HEX data, which is a common format used in embedded system programming. =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80 =E2=94=82 Intel_hex.Record. =E2=94=82 [ =E2=94=82 Extended_segment_address 0x0F; =E2=94=82 Data (0x0000, "Hello "); =E2=94=82 Data (0x0007, "World!"); =E2=94=82 End_of_file; =E2=94=82 ] =E2=94=82 |> Intel_hex.records_to_string=20 =E2=94=82 |> print_endline =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80 =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80 =E2=94=82 :02000002000FED =E2=94=82 :0600000048656C6C6F20E6 =E2=94=82 :06000700576F726C6421CA =E2=94=82 :00000001FF =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80 Also, you can of course read the IHEX object file from other sources: =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80 =E2=94=82 In_channel.with_open_text "data.hex" Intel_hex.object_of_channel =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80 =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80 =E2=94=82 - : Intel_hex.Object.t =3D=20 =E2=94=82 {=20 =E2=94=82 start_linear_address =3D 0; =E2=94=82 start_segment_address =3D {cs =3D 0; ip =3D 0}; =E2=94=82 chunks =3D [(240, "Hello "); (247, "World!")] =E2=94=82 } =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80 Limitations 32-bitness. To represent 32-bit integers, the library uses the OCaml int data type. This may be problematic for 32-bit systems, as it can lead to overflow errors, but it works fine for most 64-bit systems. Start addressing and extending addressing. Not fully supported for real-world use. I would appreciate your pull request on this! [intel_hex] layoutz 0.0.2 - a tiny DSL for beautiful CLI output in OCaml =F0=9F=AA=B6 =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=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: Matthieu Court 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 Hello all! Been working on [layoutz], a tiny, zero-dep combinator lib for making pretty, structured, terminal output: tables, trees, boxes, ANSI styled elements, etc. Would love to hear how the API feels: Smooth? Any missing primitives you'd expect? Many thanks! [layoutz] New release of Menhir (20260122) =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: Continuing this thread, Fran=C3=A7ois Pottier 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=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80 I have introduced a printing bug in the Rocq back-end, reported by Xavier Leroy. I am releasing version 20260203 today to fix this bug. Caml in the Capital - Registrations Open! =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 ! We are excited to officially invite you to the first Caml in the Capital meetup! We have two fantastic talks planned, some free pizza =F0=9F=8D=95 generously sponsored by the OCaml Software Foundation =F0=9F= =90=AA and great company to chat with :grinning_face_with_smiling_eyes: =E2=80=A2 *Registration link:* [HERE] *(Please register asap so we can anticipate)* =E2=80=A2 *Date:* Thursday February 26th from 6:30pm to 8:30pm =E2=80=A2 *Location:* Imperial College London, Flowers Building, Room FLOW G.47A. [HERE] Talks =E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C =E2=97=8A Compile-time Computation for Caml /by Jeremy Yallop/ (Abstract TBD) =E2=97=8A Dynamic Verification of OCaml Software with ORTAC/QCheck-STM /by Nikolaus Huber/ In this talk I would like to introduce the QCheck-STM plugin for ORTAC, a framework for dynamic verification of OCaml code. ORTAC/QCheck-STM consumes OCaml module signatures annotated with contracts expressed in the Gospel language and generates code for automated runtime assertion checking from it. I will highlight some details of the implementation of the tool, the structure of the generated code, and on errors found in established OCaml libraries. =E2=80=94 We are very much looking forward to meeting the OCaml community in London! Cheers, Alistair & Sacha An experimental branch of Merlin based on Domains and Effects =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=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90 Archive: Continuing this thread, Carine Morel 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=E2=94=80 Hello! For those interested, [here] is the link to the video of the talk @pitag and I gave on the subject at Lambda World last year! Don't hesitate to ask questions here or under the video! [here] Other OCaml News =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 >>From the ocaml.org blog =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 Here are links from many OCaml blogs aggregated at [the ocaml.org blog]. =E2=80=A2 [Windows Docker Images] =E2=80=A2 [Weeknotes for week 6] =E2=80=A2 [More CFI and frame pointers work] =E2=80=A2 [OCaml Roundup: January 2026] [the ocaml.org blog] [Windows Docker Images] [Weeknotes for week 6] [More CFI and frame pointers work] [OCaml Roundup: January 2026] 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 February 03 to 10, 20= 26.

intel_hex.0.3

Mikhail announced

Hi there!

I am excited to announce the release of the intel_hex library. This library is a manipulation libr= ary that provides functions for reading, writing, and creating Intel HEX da= ta, which is a common format used in embedded system programming.

Intel_hex.Record.
  [
      Extended_segment_address 0x0F;
      Data (0x0000, "Hello ");
      Data (0x0007, "World!");
      End_of_file;
  ]
|> Intel_hex.records_to_string=20
|> print_endline
:02000002000FED
:0600000048656C6C6F20E6
:06000700576F726C6421CA
:00000001FF

Also, you can of course read the IHEX object file from other sources:

In_channel.with_open_text "data.hex" Intel=
_hex.object_of_channel
- : Intel_hex.Object.t =3D=20
{=20
  start_linear_address =3D 0;
  start_segment_address =3D {cs =3D 0; ip =3D 0};
  chunks =3D [(240, "Hello "); (247,=
 "World!")]
}

Limitations

32-bitness. To represent 32-bit integers, the library uses the OCaml int da= ta type. This may be problematic for 32-bit systems, as it can lead to over= flow errors, but it works fine for most 64-bit systems.

Start addressing and extending addressing. Not fully supported for real-wor= ld use. I would appreciate your pull request on this!

layoutz 0.0.2 - a tiny DSL for beautiful CLI output in OCaml = =F0=9F=AA=B6

Matthieu Court announced

Hello all! Been working on layoutz, a tiny, zero-dep combinator lib fo= r making pretty, structured, terminal output: tables, trees, boxes, ANSI st= yled elements, etc.

Would love to hear how the API feels: Smooth? Any missing primitives you'd = expect? Many thanks!

New release of Menhir (20260122)

Continuing this thread, Fran=C3=A7ois Pottier announc= ed

I have introduced a printing bug in the Rocq back-end, reported by Xavier L= eroy. I am releasing version 20260203 today to fix this bug.

Caml in the Capital - Registrations Open!

Sacha Ayoun announced

Hi everyone !

We are excited to officially invite you to the first Caml in the Capital me= etup! We have two fantastic talks planned, some free pizza =F0=9F=8D=95 generousl= y sponsored by the OCaml Software Foundation =F0=9F=90=AA and great company= to chat with :grinning_face_with_smiling_eyes:

  • Registration link: HERE (Please register = asap so we can anticipate)
  • Date: Thursday February 26th from 6:30pm to 8:30pm
  • Location: Imperial College London, Flowers Building, Room FLOW G= .47A.

Talks

  • Compile-time Computation for Caml

    by Jeremy Yallop

    (Abstract TBD)

  • Dynamic Verification of OCaml Software with OR= TAC/QCheck-STM

    by Nikolaus Huber

    In this talk I would like to introduce the QCheck-STM plugin for ORTAC, a f= ramework for dynamic verification of OCaml code. ORTAC/QCheck-STM consumes = OCaml module signatures annotated with contracts expressed in the Gospel la= nguage and generates code for automated runtime assertion checking from it.= I will highlight some details of the implementation of the tool, the struc= ture of the generated code, and on errors found in established OCaml librar= ies.

    We are very much looking forward to meeting the OCaml community in London!

    Cheers, Alistair & Sacha

An experimental branch of Merlin based on Domains and Effects<= /h2>

Continuing this thread, Carine Morel announced

Hello! For those interested, here is the link to the video of the talk @pitag and I gave= on the subject at Lambda World last year! Don't hesitate to ask questions = here or under the video!

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

--=-=-=--