From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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= Authentication-Results: plum; dmarc=fail (p=none dis=none) header.from=polytechnique.org 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=NbwNiETw; dkim=fail reason="signature verification failed" (1024-bit key; secure) header.d=polytechnique.org header.i=@polytechnique.org header.a=rsa-sha256 header.s=svoboda header.b=2HzAA+q5; dkim-atps=neutral Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by plum.tunbury.org (Postfix) with ESMTPS id C02D2B80123 for ; Tue, 17 Sep 2024 15:02:54 +0100 (BST) 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=Hxt8qbH3KPldc50sZXyYq2DLgbvQTCfGw0Mi2D+pvIE=; b=NbwNiETwfrmznERG8GZT0rJXsuGRwF1GzvmnIfkQGYcWrpRgVqzvGSlV 7l4zOIjD/O1V3Gb6Sjc+Ztm9h9oTLo+H3T+TR9hJaC3DaELq098k6nsyZ GfhVNgBfvkUoeV4mW1IHbWGNU+DqmCexRKDzwkPDzlo5cDjOO31ASNAkH 8=; Received-SPF: Pass (mail2-relais-roc.national.inria.fr: domain of caml-list-owner@inria.fr designates 128.93.162.160 as permitted sender) identity=mailfrom; client-ip=128.93.162.160; 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:89.107.174.7 mx ~all" Received-SPF: None (mail2-relais-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@sympa.inria.fr) identity=helo; client-ip=128.93.162.160; receiver=mail2-relais-roc.national.inria.fr; envelope-from="caml-list-owner@inria.fr"; x-sender="postmaster@sympa.inria.fr"; x-conformance=spf_only Authentication-Results: mail2-relais-roc.national.inria.fr; spf=Pass smtp.mailfrom=caml-list-owner@inria.fr; spf=None smtp.helo=postmaster@sympa.inria.fr; dkim=hardfail (body hash did not verify [final]) header.i=@polytechnique.org X-IronPort-AV: E=Sophos;i="6.10,235,1719871200"; d="scan'208,217";a="183624455" Received: from prod-listesu18.inria.fr (HELO sympa.inria.fr) ([128.93.162.160]) by mail2-relais-roc.national.inria.fr with ESMTP; 17 Sep 2024 16:02:53 +0200 Received: by sympa.inria.fr (Postfix, from userid 20132) id 674A9E0D1F; Tue, 17 Sep 2024 16:02:53 +0200 (CEST) Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 846E3E0131 for ; Tue, 17 Sep 2024 16:02:50 +0200 (CEST) IronPort-SDR: 66e98c08_O4KmTKZIFpZWbda0XP+ULeBmcQa/+0HmeuHAPxn+a1O6Ys7 dG0JF1T6sYznLxTizDJYcLAdWzVJAs2psaLdSRA== X-IPAS-Result: =?us-ascii?q?A0EeDgCMi+lmmCIeaIFagliBQVIxGQFdBlozBwhIA4RTg?= =?us-ascii?q?0+FNIhrgRaBK5oAgVaBQBYjFAEDAQ0uAQ4EAQIEAQEDAQIBggyCLkYCiX0CH?= =?us-ascii?q?wYBBDAJDgECBAEBAQEDAgMBAQEBAQEIAQEFAQEBAgEBAgQGAQIQAQEBAQEBA?= =?us-ascii?q?QE3BUmFdQ2CRhkUASNxXgMEAwYGAQEBAQEBAQEBJwEBAQEBAQEBAQEBAQEBA?= =?us-ascii?q?QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECCAQBDBcfHAEjHAkKEwEBM?= =?us-ascii?q?QcYIwMQBAEGAwIRATUDFAESGoJYDwGCZAMEAQwGkmuaaxo3eoEygQGCDAEBB?= =?us-ascii?q?oEIPgMLAgIDDy4B2gWBGUoJgUiIMRoBKkhqAoRDhDonD4FVRIEVgihKB2+CP?= =?us-ascii?q?xcLAQEBARhCYgEBETwJGIMNgmmDMYJvVYMYP4ESOi9sgQlSgnEPgSmBF2Z+V?= =?us-ascii?q?w+CBFQCDIMCfCWBIxCGMF+BF4Qbi26BRyIDJjMhEwFVExcLCQVkhguCSoMmg?= =?us-ascii?q?hSEFoUlgWcJYIdngW+BPoFZR4JySoVTgQaCUWtOOQINAjeCKSVuglqDeWEdQ?= =?us-ascii?q?AMLbT01FBurOgQNJwGBXAFHgXMOCxQfATEbFQIhCgEHFA4BAQQeNjgLAgIVM?= =?us-ascii?q?AQEARAIJwYQAgQWF5JPEQIRBCUHnTyTbW00B4QagV0GDIkCgSSVc4QFgVaLK?= =?us-ascii?q?4Z+kkEimFMigjSCdIQsgSUJgW0eTIhvjF8hhTOBZzpJYgEdDAczGjBDDQaCI?= =?us-ascii?q?AEzCQk9HA+IIYlSKIE+gSaBdTu/ckE1AgEBDikCBwEKAQEDCYVFHQEBhUYCJ?= =?us-ascii?q?gQIgUsBAQ?= IronPort-PHdr: A9a23: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 IronPort-Data: A9a23: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 9VsD7UD6Jy5FX1s IronPort-HdrOrdr: A9a23:kXvYsaozWr1N4cYpxuJ2E6IaV5oWeYIsimQD101hICG9E/bo9P xG+c5w6faaslgssR0b9OxoW5PhfZq/z/9ICOAqVN/IYOCMggSVxe9ZgbfK8nnJJGnV9+JW16 tsGpIOauHYPBxdlsi/xAG5Fr8bsb26GU2T9ILj80s= X-Talos-CUID: =?us-ascii?q?9a23=3ACPF3mWqHexTuv0A8xahBT8rmUeUmMU/FlCbaGFO?= =?us-ascii?q?1FWZyEZuQW3HK8qwxxg=3D=3D?= X-Talos-MUID: 9a23:2zuOZwraYCM7BmVqst8ezzU7BfhS5Yr2Mmwqvr4A4PiVay8pFB7I2Q== X-IronPort-Anti-Spam-Filtered: true X-IronPort-AV: E=Sophos;i="6.10,235,1719871200"; d="scan'208,217";a="96606908" X-MGA-submission: =?us-ascii?q?MDFv4rmZOOz2Eu7wMLZbG4H4p7Vx04Ibv4DkOb?= =?us-ascii?q?apVI6w2l0DF4CW5PRbZMcU6TqAnr6jGTF4lWAQmONCLeWkMiNPpde2Xp?= =?us-ascii?q?KUfho/Eu6c+hqS0O7NKkytQ/bKJjhXX/7QYNtyp8CGopf802qh8Q4uWo?= =?us-ascii?q?iByIIlDkGekb0JvxtqzFPYTQ=3D=3D?= Received: from mx1.polytechnique.org ([129.104.30.34]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Sep 2024 16:02:48 +0200 Received: from TM.local (unknown [82.66.240.41]) (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 30D50564A7A; Tue, 17 Sep 2024 16:02:47 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=polytechnique.org; s=svoboda; t=1726581767; bh=FeGAVae8tiMfwJ6qPW6eUYSKLFlGFM15TC2qG2vAuHQ=; h=From:To:Subject:Date:Message-ID; b=2HzAA+q5YH9wR9TnZxap1aCk0FX0Wt3ItHf0nVJMcB2IIrCZTb9wWQw83B8vyU0vU 2Od6jBUVtgSZ0m6Iz+YAvmqc/BQ+kIGTEdz1wVCOWHwb/29UEnSOqWCuxhd3sOvPBy /g/zXKx2ff3aOD1o9PcJvvm7GdCIyR4Yxvdyx3vg= From: Alan Schmitt To: "lwn" , caml-list@inria.fr Date: Tue, 17 Sep 2024 16:02:45 +0200 Message-ID: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="=-=-=" X-AV-Checked: ClamAV using ClamSMTP at svoboda.polytechnique.org (Tue Sep 17 16:02:47 2024 +0200 (CEST)) X-Spam-Flag: Unsure, tests=bogofilter, spamicity=0.476866, queueID=67F9B564A7B 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: 19179 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 September 10 to 17, 2024. 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 Ptime 1.2.0 =E2=80=93 Mtime 2.1.0 =E2=80=93 Qrc 0.2.0 Unicode 16.0.0 update for Uucd, Uucp, Uunf and Uuseg Outreachy Demo Presentation Live Stream to follow OCaml Workshop, ML Workshop, and other talks at ICFP DkML 2.1.2 and opam 2.2.0 store v0.1.0 Tsdl 1.1.0 OCaml-css 0.2.0 OCaml-stk 0.2.0 and Chamo 4.1.0 DkCoder 2.1.3 Other OCaml News Old CWN Ptime 1.2.0 =E2=80=93 Mtime 2.1.0 =E2=80=93 Qrc 0.2.0 =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90= =E2=95=90=E2=95=90=E2=95=90=E2=95=90=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: Daniel B=C3=BCnzli 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 There are new releases of these packages: =E2=80=A2 [Ptime] POSIX time for OCaml, [release notes], [docs] =E2=80=A2 [Mtime] Monotonic time for OCaml, [release notes], [docs] =E2=80=A2 [Qrc] QR code encoder for OCaml, [release notes], [docs] See the individual release notes for details about the changes. The library structure of Ptime and Mtime was changed to align it on the mythical library convention and make it for less surprising names (it used to make sense, it no longer does): =E2=80=A2 The `{M,P}time_clock' modules are now in the `{p,m}time.clock' libraries as they should be. These libraries were also made to [export] the base `{p,m}time' library so that you can trim you `requires' when you use the clocks. =E2=80=A2 The libraries `{p,m}time.clock.os' are deprecated. They now sim= ply export `{p,m}time.clock' and warn on usage. Best and a big thanks to my [donors] [Ptime] [release notes] [docs] [Mtime] [release notes] [docs] [Qrc] [release notes] [docs] [export] [donors] Unicode 16.0.0 update for Uucd, Uucp, Uunf and Uuseg =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90= =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90=E2=95=90=E2=95=90=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: Daniel B=C3=BCnzli 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 Unicode 16.0.0 was released on September 10th. It adds 5185 new characters for a total of 154'998 characters. If you are into retrocomputing or terminal graphics this may be your ultimate chance to find an odd character to make an effect among the 686 new [symbols for legacy computing] that are added =E2=80=93 I'm heari= ng this may me be the last batch, the resource is finite! See the [announcement page] for links to all the other equally interesting additions. If you are obsessed about deep linking into standard definitions, note that the normative core specification becomes a proper [HTML document]; rather than a bunch of PDF files or that 1400 pages hard-copy I once purchased for 5.0.0 circa 2007 :=E2=80=93). The neat res= ult is that we can now precisely hyperlink to the [normative definition] of an OCaml [`Uchar.t'] value. Accordingly these libraries had to be updated (aggregated, boring, release notes [here]) =E2=80=A2 [Uucd] 16.0.0 Unicode character database decoder for OCaml, [do= cs] =E2=80=A2 [Uucp] 16.0.0 Unicode character properties for OCaml, [docs] =E2=80=A2 [Uunf] 16.0.0 Unicode text normalization for OCaml, [docs] =E2=80=A2 [Uuseg] 16.0.0 Unicode text segmentation for OCaml, [docs] Both `Uucd' and `Uucp' are incompatible releases sinces new block and script enumerants were added. Other than that the minimal Unicode introduction and Unicode OCaml tips is still [here] and remember that despite the uninformed myths OCaml :heart: Unicode. A big thanks for funding from the [OCaml Software Foundation] and from my faithful [donors]. [symbols for legacy computing] [announcement page] [HTML document] [normative definition] [`Uchar.t'] [here] [Uucd] [docs] [Uucp] [docs] [Uunf] [docs] [Uuseg] [docs] [here] [OCaml Software Foundation] [donors] Outreachy Demo Presentation =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90=E2=95=90=E2=95=90=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: Patrick Ferris 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 The demo presentation video is now online: =E2=80=93 thank you to everyone who joined and particularly the mentors, co-mentors and interns! A big thank you also to [Tarides] and [Jane Street] for providing resources and funding to make this round possible. A reminder that _today_ is the last day to sign up to the next round =E2=80=93 [Outreachy December 2024 Round]! [Tarides] [Jane Street] [Outreachy December 2024 Round] Live Stream to follow OCaml Workshop, ML Workshop, and other talks at ICFP =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90= =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90= =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=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: jbeckford 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 FYI: For people like me who were on vacation or otherwise unavailable, the several hour Live Stream is still available. The intro to the workshop and the first OCaml talk start at . DkML 2.1.2 and opam 2.2.0 =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90=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: jbeckford 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 DkML 2.1.3 was released. The major changes are: =E2=80=A2 Upgraded from opam 2.2.0 to opam 2.2.1. =E2=80=A2 The ocaml/opam-repository tag was advanced to Sep 10, 2024. =E2=80=A2 bugfix: `dk Ml.Switch init' was broken on Linux and macOS. DkML 2.1.2 had incorrectly pinned the `dkml-host-abi' and `dkml-target-abi' of the master DkML build machine. =E2=80=A2 Allow prereleases of Visual Studio; requested at . Upgrading is: =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80 =E2=94=82 winget remove dkml # Ignore "exit code: 4294967295" =E2=94=82 winget install dkml =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80 The full release notes are at . store v0.1.0 =E2=95=90=E2=95=90=E2=95=90=E2=95=90=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: Basile Cl=C3=A9ment 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 I would like to announce the first release of `store' ([docs]), a library providing a snapshottable bag of mutable references, an efficient data-structure for back-tracking workloads. To install it, type `opam update && opam install store'. Store provides a simple API for capturing and restoring state as well as easy-to-use high-level wrappers to automatically rollback changes on failure (`tentatively') or unconditionally (`temporarily'). It boasts almost-zero overhead when back-tracking is not used and best-in-class performance for back-tracking use cases. The design and implementation of Store is described in the paper [Snapshottable stores], which was given a Distinguished Paper award at this year's ICFP in Milan. As recognized by this award, the paper is well-written and easy to understand; please give it a read if you are interested in either back-tracking workloads or subtle data structure invariants! I also want to give a shout-out to Fran=C3=A7ois Pottier's Monolith, which proved invaluable during the development of Store to find and diagnose subtle bugs. Store was developed through collaboration between myself (Basile Cl=C3=A9ment) at OCamlPro and Gabriel Scherer at Inria, and the persistent interface was formally verified by Cl=C3=A9ment Allain and Alexandre Moine at Inria. [docs] [Snapshottable stores] Tsdl 1.1.0 =E2=95=90=E2=95=90=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: Daniel B=C3=BCnzli 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 There's a new release of [Tsdl], thin bindings to the C [SDL library]. See the [release notes] for details. =E2=80=A2 Docs: [online] or `odig doc tsdl' =E2=80=A2 Install: `opam install tsdl' Daniel A big thanks to my [donors]. [Tsdl] [SDL library] [release notes] [online] [donors] OCaml-css 0.2.0 =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=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: Zoggy 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 [OCaml-css] 0.2.0 is released and already available in opam (package `css'). OCaml-css is a library to parse and print CSS. ([docs]) Main changes are the introduction of property spaces and partial handling of nested rules. Properties are now defined in [spaces]. A [Css] space is predefined, with some CSS properties, but you can define a new space with specific properties to use the CSS syntax for these properties in your application. (this is what is done in the to be not yet released 0.2.0 version of [stk]). Nested style rules are now parsed and can be [expanded]. Nested @-rules are not handled yet. [OCaml-css] [docs] [spaces] [Css] [stk] [expanded] OCaml-stk 0.2.0 and Chamo 4.1.0 =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=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: Zoggy 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 Stk =E2=95=8C=E2=95=8C=E2=95=8C A new release of [OCaml-stk], 0.2.0, is now available in opam (package `stk'). OCaml-stk is a Graphical User Interface library based on on [libSDL 2], through the [Tsdl] bindings. As the library is under heavy development, this release includes [many changes]: new widgets, better memory management, css-like theming, =E2=80= =A6 By cloning [the repository] and running `make', you can then run `./_build/default/examples/examples.exe'. This example application contains demonstrations of each widget with the corresponding code in the same window. [OCaml-stk] [libSDL 2] [Tsdl] [many changes] [the repository] Chamo =E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C A new release of [Chamo], 4.1.0, is also available in opam (package `chamo'). Chamo is a source code editor, even if it can be used to edit any text file. It is based on OCaml-stk. This release contains small bug fixes and follows changes in OCaml-stk. [Chamo] DkCoder 2.1.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: jbeckford 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 I am happy to announce another release of DkCoder - a no-install OCaml-based scripting framework. Major changes: =E2=80=A2 Split out the Java-like packaging and security tools into the MlFront project: . =E2=80=A2 The DkCoder and MlFront version numbers are now in sync with Dk= ML version numbers. However, DkCoder is **still alpha** and there is at least one breaking change coming. =E2=80=A2 Several third-party "Us" scripts are embedded and supported. (T= hey are listed at bottom of this post). Docs: The main doc page is . But I don't yet have good reference docs. The samples below have been updated and are good ways to see what DkCoder can do (use the `V2_1' branches): =E2=80=A2 =E2=80=A2 =E2=80=A2 There are many bug fixes and new features. The full list is at [https://github.com/diskuv/dkcoder/blob/1.0/CHANGES.md#2132] - all the sections from `0.4.0.1' to `2.1.3.2' (inclusive) are new. [https://github.com/diskuv/dkcoder/blob/1.0/CHANGES.md#2132] New "Us" scripts =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 /These scripts can be run inside any of the sample projects above, or used as ordinary modules in your own DkCoder project source code. Some scripts, but not all, have a `--help' option./ =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80 =E2=94=82 ./dk DkFs_C99.Dir - Directory manipulation operations. =E2=94=82 ./dk DkFs_C99.File - (no help) File manipulation operations. =E2=94=82 ./dk DkFs_C99.Path - Path manipulation operations. =E2=94=82 ./dk DkNet_Std.Browser - Browser operations. =E2=94=82 ./dk DkNet_Std.Http - Download content. =E2=94=82 ./dk DkDev_Std.Legal.Record - Asks for and records your accepta= nce of legal terms and agreements. =E2=94=82 ./dk DkDev_Std.Exec - Execute a command in the DkCoder 2.1 runt= ime environment. =E2=94=82 ./dk DkDev_Std.Export - Create an `exports` field inside dkproj= ect.jsonc summarizing all the You libraries. =E2=94=82 ./dk DkDev_Std.Jsontree - (no help) For in-place edits of JSON = files. =E2=94=82 ./dk DkStdRestApis_Gen.* - (no help) (unstable, not ready). Ope= nAPI 3 service and client generator. =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80 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 [Upcoming OCaml Events (Sep 15, 2024 and onwards)] =E2=80=A2 [Feature Parity Series: Compaction is Back!] [the ocaml.org blog] [Upcoming OCaml Events (Sep 15, 2024 and onwards)] [Feature Parity Series: Compaction is Back!] 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 September 10 to 17, 2= 024.

Ptime 1.2.0 =E2=80=93 Mtime 2.1.0 =E2=80=93 Qrc 0.2.0

Daniel B=C3=BCnzli announced

There are new releases of these packages:

See the individual release notes for details about the changes.

The library structure of Ptime and Mtime was changed to align it on the myt= hical library convention and make it for less surprising names (it used to = make sense, it no longer does):

  • The {M,P}time_clock modules are now in the {p,m}time= .clock libraries as they should be. These libraries were also made t= o export the base {p,m}time library so tha= t you can trim you requires when you use the clocks.
  • The libraries {p,m}time.clock.os are deprecated. They now = simply export {p,m}time.clock and warn on usage.

Best and a big thanks to my donors

Unicode 16.0.0 update for Uucd, Uucp, Uunf and Uuseg

Daniel B=C3=BCnzli announced

Unicode 16.0.0 was released on September 10th. It adds 5185 new characters = for a total of 154'998 characters.

If you are into retrocomputing or terminal graphics this may be your ultima= te chance to find an odd character to make an effect among the 686 new symb= ols for legacy computing that are added =E2=80=93 I'm hearing this may = me be the last batch, the resource is finite! See the annou= ncement page for links to all the other equally interesting additions.

If you are obsessed about deep linking into standard definitions, note that= the normative core specification becomes a proper HTML document; rather tha= n a bunch of PDF files or that 1400 pages hard-copy I once purchased for 5.= 0.0 circa 2007 :=E2=80=93). The neat result is that we can now precisely hy= perlink to the normative definition of an OCaml Uchar.t= value.

Accordingly these libraries had to be updated (aggregated, boring, release = notes here<= /a>)

  • Uucd 16.0.0 Unicode c= haracter database decoder for OCaml, docs
  • Uucp 16.0.0 Unicode c= haracter properties for OCaml, docs
  • Uunf 16.0.0 Unicode t= ext normalization for OCaml, docs
  • Uuseg 16.0.0 Unicode= text segmentation for OCaml, docs

Both Uucd and Uucp are incompatible releases sinc= es new block and script enumerants were added.

Other than that the minimal Unicode introduction and Unicode OCaml tips is = still here<= /a> and remember that despite the uninformed myths OCaml :heart: Unicode.

A big thanks for funding from the OCaml So= ftware Foundation and from my faithful donors.

Outreachy Demo Presentation

Patrick Ferris announced

The demo presentation video is now online: https://watch.ocaml.org/w/peT3MdWjS1BYYMbowEJ1= gv – thank you to everyone who joined and particularly the mento= rs, co-mentors and interns!

A big thank you also to Tarides and Jane Street for providing resources= and funding to make this round possible. A reminder that today is the last day to sign up to the next round –= Outreachy December 2024 Round!

Live Stream to follow OCaml Workshop, ML Workshop, and other t= alks at ICFP

jbeckford announced

FYI: For people like me who were on vacation or otherwise unavailable, the = several hour Live Stream is still available.

The intro to the workshop and the first OCaml talk start at https://www.youtube.com/liv= e/OuQqblCxJ2Y?t=3D2254s.

DkML 2.1.2 and opam 2.2.0

jbeckford announced

DkML 2.1.3 was released. The major changes are:

Upgrading is:

winget remove dkml # Ignore "exit code: 4294967295"
winget install dkml

The full release notes are at https://gitlab.com/dkml/distributions/dkml/-/rel= eases/2.1.3.

store v0.1.0

Basile Cl=C3=A9ment announced

I would like to announce the first release of store (docs), a lib= rary providing a snapshottable bag of mutable references, an efficient data= -structure for back-tracking workloads.

To install it, type opam update && opam install store.

Store provides a simple API for capturing and restoring state as well as ea= sy-to-use high-level wrappers to automatically rollback changes on failure = (tentatively) or unconditionally (temporarily). I= t boasts almost-zero overhead when back-tracking is not used and best-in-cl= ass performance for back-tracking use cases.

The design and implementation of Store is described in the paper Snapshottable stores, which was given= a Distinguished Paper award at this year's ICFP in Milan. As recognized by= this award, the paper is well-written and easy to understand; please give = it a read if you are interested in either back-tracking workloads or subtle= data structure invariants!

I also want to give a shout-out to Fran=C3=A7ois Pottier's Monolith, which = proved invaluable during the development of Store to find and diagnose subt= le bugs.

Store was developed through collaboration between myself (Basile Cl=C3=A9me= nt) at OCamlPro and Gabriel Scherer at Inria, and the persistent interface = was formally verified by Cl=C3=A9ment Allain and Alexandre Moine at Inria.

Tsdl 1.1.0

Daniel B=C3=BCnzli announced

There's a new release of Tsd= l, thin bindings to the C SDL libra= ry. See the release notes for details.

  • Docs: online or= odig doc tsdl
  • Install: opam install tsdl

Daniel

A big thanks to my donors<= /a>.

OCaml-css 0.2.0

Zoggy announced

OCaml-css 0.2.0 is releas= ed and already available in opam (package css).=20

OCaml-css is a library to parse and print CSS. (docs)

Main changes are the introduction of property spaces and partial handling o= f nested rules.

Properties are now defined in spaces. A Css space is predefined, with some CSS properties, but you can define a new s= pace with specific properties to use the CSS syntax for these properties in= your application. (this is what is done in the to be not yet released 0.2.= 0 version of stk).

Nested style rules are now parsed and can be expanded. = Nested @-rules are not handled yet.

OCaml-stk 0.2.0 and Chamo 4.1.0

Zoggy announced

Chamo

A new release of Chamo, 4.1.0= , is also available in opam (package chamo).

Chamo is a source code editor, even if it can be used to edit any text file= . It is based on OCaml-stk. This release contains small bug fixes and follo= ws changes in OCaml-stk.

DkCoder 2.1.3

jbeckford announced

I am happy to announce another release of DkCoder - a no-install OCaml-bas= ed scripting framework.

Major changes:

  • Split out the Java-like packaging and security tools into the MlFront p= roject: https://discuss.ocaml.org/t/ann-mlfront-a-java-= like-package-system-for-ocaml/15072.
  • The DkCoder and MlFront version numbers are now in sync with DkML versi= on numbers. However, DkCoder is still alpha and there is at l= east one breaking change coming.
  • Several third-party "Us" scripts are embedded and supported. (They are = listed at bottom of this post).

Docs: The main doc page is https://diskuv.com/dksdk/coder/2024-intro-scripting/. = But I don't yet have good reference docs. The samples below have been updat= ed and are good ways to see what DkCoder can do (use the V2_1 = branches):

There are many bug fixes and new features. The full list is at https://github.c= om/diskuv/dkcoder/blob/1.0/CHANGES.md#2132 - all the sections from 0.4.0.1 to 2.1.3.2 (inclusive) are new.

New "Us" scripts

These scripts can be run inside any of the sample projects above, or use= d as ordinary modules in your own DkCoder project source code. Some scripts= , but not all, have a --help option.

./dk DkFs_C99.Dir - Directory manipulation operations.
./dk DkFs_C99.File - (no help) File manipulation operations.
./dk DkFs_C99.Path - Path manipulation operations.
./dk DkNet_Std.Browser - Browser operations.
./dk DkNet_Std.Http - Download content.
./dk DkDev_Std.Legal.Record - Asks for and records your acceptance of legal=
 terms and agreements.
./dk DkDev_Std.Exec - Execute a command in the DkCoder 2.1 runtime environm=
ent.
./dk DkDev_Std.Export - Create an `exports` field inside dkproject.jsonc su=
mmarizing all the You libraries.
./dk DkDev_Std.Jsontree - (no help) For in-place edits of JSON files.
./dk DkStdRestApis_Gen.* - (no help) (unstable, not ready). OpenAPI 3 servi=
ce and client generator.

Other OCaml News

From the ocaml.org blog

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.

--=-=-=--