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=vP6iBCe5; 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=XeRRDLnq; 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 08441B80123 for ; Tue, 26 Mar 2024 07:11:12 +0000 (GMT) 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=olh3nqCV5UM3i/O0Wad/IBj+vLKQTdTSNRQxnJZPj4Y=; b=vP6iBCe5GGZXLo4J6pZmBY5qfEsl+OhuP5Vk0mJMA+qstODdQ/X4A8QC EvGShvpLbIjtcFfR9TBp0xy3h9LdOXpNmHzHdalnQCeJJfCpro0PAeSGF D/C24OOa2cuPCd9EmyGyctBLy8lr4Wa4f3mnfiMm9sQMbf0DWuHjZEoco M=; 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.07,155,1708383600"; d="scan'208,217";a="158438658" Received: from prod-listesu18.inria.fr (HELO sympa.inria.fr) ([128.93.162.160]) by mail2-relais-roc.national.inria.fr with ESMTP; 26 Mar 2024 08:11:11 +0100 Received: by sympa.inria.fr (Postfix, from userid 20132) id 88EDBE0149; Tue, 26 Mar 2024 08:11:11 +0100 (CET) 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 5D2B7E0147 for ; Tue, 26 Mar 2024 08:11:09 +0100 (CET) IronPort-SDR: 66026c64_zXxFfIZSlY2D4CIjP3fbfIjp+xiDIB0I44xFPiadeFA/8HY m7HIZ+BIg4SILwN7xwKsvPUOiGBixcdgFZqMDyQ== X-IPAS-Result: =?us-ascii?q?A0EiBgCfcwJmjCIeaIFaFoJCgTaBAxkBYlYyBwhIhFaDT?= =?us-ascii?q?44YgRaJM4k0hyiBD4FWFIEPHRYjFAEDAQ0uAQ4EAQIEAQEDAQIBgguCdAKIB?= =?us-ascii?q?gIfBgEEMQgOAQIEAQEBAQMCAwEBAQEBAQgBAQUBAQECAQECBAYBAhABAQEBQ?= =?us-ascii?q?BA1hWwNgkouI2tlCTcBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA?= =?us-ascii?q?QEBAQEBAQEBAQECCAQBGYEDCQoTAQEpBwgYIwMJBwQBBgMCEQE1FwESFAaCZ?= =?us-ascii?q?gGCGkUDBAEMBpU7mzp6gTKBAYIKAQEGgQg+AwEKAgUBDgkmrweBRxoJgTAYi?= =?us-ascii?q?AwaAWpoAoQhhDwnD4FVRIEVgihKBQJvggI9CxcBAQEBgRcNBBQBAQJLCQmDH?= =?us-ascii?q?IJogUBWgSobgRtXgWBEVIFbBoUOJoFRIQGFXANWFQ+CXoICcGACBg2GV4FMI?= =?us-ascii?q?gN9CGsbEB43ERATDQMIbh0CMToDBQMEMgoSDAsfBVQDQwZICwMCGgUDAwSBL?= =?us-ascii?q?QULGgIQLCYDAxJJAhAUAzgDAwYDCjEuT0EMUANnHzEJPA8MGgIbFA0kIwIsP?= =?us-ascii?q?gMJChACFgMdFgQwEQkLJgMqBjYCEgwGBgZcIBYJBCMDCAQDUAMgcBEDBBoEC?= =?us-ascii?q?wd2gUiBdQQTRAMQgTKHQYJVgz+CIIQ7SANEHUADC209NRQbKKNqeQIBLIE9L?= =?us-ascii?q?w44BgIsYgcDCQgQFwkCDScCOAsCFxkbFRYfCwsCLZJqKgJzjiaOBJRNNAeEF?= =?us-ascii?q?oFbBgyIe4EkiFaCf4ZAg1WEBYFWiyaReoc0IphAIII0hxyBJQmBbGmKAol1g?= =?us-ascii?q?UmFUIFlATiBXDMaMEOCZwlGHA9XjVUWg1iBPi2CbjuKZAJCNQIBATcCBwEKA?= =?us-ascii?q?QEDCYVFHQEBgz6BSAEB?= IronPort-PHdr: A9a23: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 p5Y1nnj IronPort-Data: A9a23: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 IronPort-HdrOrdr: A9a23:yQE/WaqPGt9hLwdWBf1qQ0kaV5o5eYIsimQD101hICG9E/b5qy nAppsmPHPP4wr5O0tApTnoAsDpfZq2z/NICP4qUYtKMjONhEKYaK1DqbHP5BDNIGnXz9c178 ldT5Q= X-Talos-CUID: 9a23:CmmZGmx3+1dXavktWCXcBgUXFp57U3H/4EvNAB+7LGxEVp+JU2S5rfY= X-Talos-MUID: 9a23:kDNM8gW7m76dyBPq/Ba8ihc6G+BH2vyRDhwPnZw0mZigCBUlbg== X-IronPort-Anti-Spam-Filtered: true X-IronPort-AV: E=Sophos;i="6.07,155,1708383600"; d="scan'208,217";a="83090791" X-MGA-submission: =?us-ascii?q?MDHVCNuOmftB0IrSzbVId2rk8fhEfk5NrfFyl1?= =?us-ascii?q?HXsqUdu84l7QzjVIA2snFC5BOLvr4gvsOndACw57N2bQCCn3306leOMa?= =?us-ascii?q?kHW0r18Izz1/CmlAvQkyptbYFV7YDEkjZV9wp4RsEa9XokN+Jo1FpOlI?= =?us-ascii?q?fFi607ygdvGh6x47s+OCQegw=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; 26 Mar 2024 07:32:12 +0100 Received: from TM.local (unknown [90.85.64.46]) (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 E21AE5646DB; Tue, 26 Mar 2024 07:32:12 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=polytechnique.org; s=svoboda; t=1711434733; bh=13paivHn6/tYXF221qUfoElyKJzXxdVfANVd+AI8oRI=; h=From:To:Subject:Date:Message-ID; b=XeRRDLnqwFfq3yMMMeVlk0A3oPhOkyZcCW7zEkyywYDOVoCdpg03XOs7+w4cO+OL5 UCv1J2N86cplMkmiBYPyS6+HpjMw5zrwyWPtTcCls2SWgbSOGv7+aUBaHf00zK/XQW 6vH+U23h5ZtJ/62YCP7L/5qN0aRrCttFPr1tuioQ= From: Alan Schmitt To: "lwn" , caml-list@inria.fr Date: Tue, 26 Mar 2024 07:32:10 +0100 Message-ID: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="=-=-=" X-AV-Checked: ClamAV using ClamSMTP at svoboda.polytechnique.org (Tue Mar 26 07:32:13 2024 +0100 (CET)) X-Spam-Flag: No, tests=bogofilter, spamicity=0.405734, queueID=8D29A5646DC 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: 19104 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 March 19 to 26, 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 The Flambda2 Snippets, by OCamlPro Eio 1.0: First major release ppx_minidebug 1.3.0: toward a logging framework Academic OCaml Users Testimonials! Volunteers for ICFP 2024 Artifact Evaluation Committee (AEC) First beta release for OCaml 5.2.0 Other OCaml News Old CWN The Flambda2 Snippets, by OCamlPro =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90= =E2=95=90=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: OCamlPro 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 Greetings Cameleers, Today, we are excited to share with you a first glance at some redactional work that has been brewing behind at the scenes at OCamlPro for quite a some time now! We are starting a series of blogposts on the Flambda2 project. The goals are plenty, one of them being to give all readers an idea of the inner workings of this great piece of software, 10 years of research & development in the making. The first two episodes are rather special to the series: =E2=80=A2 [Episode 0] gives context and broader information on both the Flambda2 Optimising Compiler project, and the series of blogposts itself. =E2=80=A2 [Episode 1], on the other hand, steps right into the subject at= hand and covers some of the foundational design decisions of this compiler. We await your feedback below, and hope that you will enjoy reading these posts, and all ensuing ones! Kind regards, The OCamlPro Team [Episode 0] [Episode 1] Eio 1.0: First major release =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90=E2=95=90=E2=95=90=E2=95=90=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 I'm happy to announce the release of [Eio 1.0], its first major release. Eio started as an experimental effects-based library by the same team that was working on Multicore OCaml. We did not initially plan on upstreaming effects with OCaml 5.0. However, thanks to the efforts from the multicore team and OCaml core developers, effect handlers shipped with OCaml 5.0 (making it one of the first mainstream languages to do so). This presented the opportunity to develop effect-based concurrency libraries for OCaml, and Eio was the first of the lot.. Find more about the journey of Eio in this post =E2=80=93 [ Eio 1.0 Relea= se: Introducing a new Effects-Based I/O Library for OCaml] This is the beginning of the journey towards effect-based schedulers! We are keen to hear from you all to shape up what would be Eio 2.0. If you're looking to get started with Eio, the [README] is a good place to start. Additionally, @talex5's [video introduction], and [tutorial to port your Lwt applications to Eio] serve as good primers. I'd like to thank all the contributors for their work and users for their thoughtful feedback. As always, happy to hear feedback about Eio. Happy hacking! [Eio 1.0] [ Eio 1.0 Release: Introducing a new Effects-Based I/O Library for OCaml] [README] [video introduction] [tutorial to port your Lwt applications to Eio] ppx_minidebug 1.3.0: toward a logging framework =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90= =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=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: Lukasz Stafiniak 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 Happy to announce ppx_minidebug 1.5.0. It should soon propagate to the opam repository. Two new features since 1.4.0: =E2=80=A2 `[%log_entry header_string; body...]' syntax to explicitly crea= te log subtrees without polluting with source location information. Note that if you want the source location you could always do `let _for_debug : type... =3D body... in...'. =E2=80=A2 Minimalistic flame graphs. Example: (Note that the output is very configurable, e.g. by default the `at elapsed' time information is not printed.) Academic OCaml Users Testimonials! =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90= =E2=95=90=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: Claire Vandenberghe 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 *Are you an academic user of OCaml?* By sharing your testimonial, you're not only showcasing your expertise and experience but also contributing to the OCaml community. Your insights can help prospective users understand the academic value of OCaml and inspire them to explore its potential further. Your testimonial will be featured on our academic user page, inspiring others to explore OCaml's potential. *Tell us:* 1. Your name and academic affiliation. 2. A brief description of how you=E2=80=99ve used OCaml in your academic endeavors. 3. Your thoughts on the benefits and challenges of using OCaml. Thanks OCaml.org Team UnixJunkie then replied =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80 Some years ago, I wrote a testimonial in an invited paper: Chemoinformatics and structural bioinformatics in OCaml Volunteers for ICFP 2024 Artifact Evaluation Committee (AEC) =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90= =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90= =E2=95=90=E2=95=90=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: Beno=C3=AEt Montagu 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 Dear all, We are looking for motivated people to be members of the ICFP 2024 Artifact Evaluation Committee (AEC). Students, researchers and people from the industry or the free software community are all welcome. The artifact evaluation process aims to improve the quality and reproducibility of research artifacts for ICFP papers. In case you want to nominate someone else (students, colleagues, etc.), please send them the nomination form. Nomination form: Deadline for nominations: Mon April 8th 2024 For more information, see the AEC webpage: The primary responsibility of committee members is to review the artifacts submitted corresponding to the already conditionally accepted papers in the main research track. In particular, run the associated tool or benchmark, check whether the results in the paper can be reproduced, and inspect the tool and the data. We expect evaluation of one artifact to take about a full day. Each committee member will receive 2 to 3 artifacts to review. All of the AEC work will be done remotely/online. The AEC will work in June, with the review work happening between June 5th and July 5th. Come join us in improving the quality of research in our field! Best, the Artifact Evaluation chairs: Quentin Sti=C3=A9venart and Beno=C3= =AEt Montagu First beta release for OCaml 5.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 Archive: octachron 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 Nearly two months after the first alpha release, the release of OCaml 5.2.0 is drawing near. We have thus released a first beta version of OCaml 5.2.0 to help you update your softwares and libraries ahead of the release (see below for the installation instructions). Compared to the alpha release, this beta contains a majority of runtime system fixes, and a handful of other fixes across many subsystems. Overall, the opam ecosystem looks in a good shape for the first beta release. Most core development tools support OCaml 5.2.0 or have compatibility patch under review (for `odoc' and `ocamlformat'), and you can follow the last remaining wrinkles on the [opam readiness for 5.2.0 meta-issue]. If you find any bugs, please report them on [OCaml's issue tracker]. Currently, the release is planned for the end of April or the beginning of May. If you are interested in full list of features and bug fixes of the new OCaml version, the updated change log for OCaml 5.2.0 is available [on GitHub]. [opam readiness for 5.2.0 meta-issue] [OCaml's issue tracker] [on GitHub] Installation Instructions =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 base compiler can be installed as an opam switch with the following commands on opam 2.1: =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80 =E2=94=82 opam update =E2=94=82 opam switch create 5.2.0~beta1 =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80 The source code for the alpha is also available at these addresses: =E2=80=A2 [GitHub] =E2=80=A2 [OCaml archives at Inria] [GitHub] [OCaml archives at Inria] =E2=97=8A Fine-Tuned Compiler Configuration If you want to tweak the configuration of the compiler, you can switch to the option variant with: =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80 =E2=94=82 opam update =E2=94=82 opam switch create ocaml-variants.5.2.0~beta1+opt= ions =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80 where `option_list' is a space-separated list of `ocaml-option-*' packages. For instance, for a `flambda' and `no-flat-float-array' switch: =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80 =E2=94=82 opam switch create 5.2.0~beta1+flambda+nffa ocaml-variants.5.2.= 0~beta1+options =E2=94=82 ocaml-option-flambda ocaml-option-no-flat-float-array =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80 All available options can be listed with `opam search ocaml-option'. Changes since the first alpha =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=97=8A Runtime System Fixes =E2=80=A2 [#12875], [#12879], [#12882]: Execute preemptive systhread swit= ching as a delayed pending action. This ensures that one can reason within the FFI that no mutation happens on the same domain when allocating on the OCaml heap from C, consistently with OCaml 4. This also fixes further bugs with the multicore systhreads implementation. (Guillaume Munch-Maccagnoni, bug reports and suggestion by Mark Shinwell, review by Nick Barnes and Stephen Dolan) =E2=80=A2 [#12876]: Port ThreadSanitizer support to Linux on POWER (Miod Vallat, review by Tim McGilchrist) =E2=80=A2 [#12678], [#12898]: free channel buffers on close rather than on finalization (Damien Doligez, review by Jan Midtgaard and Gabriel Scherer, report by Jan Midtgaard) =E2=80=A2 [#12915]: Port ThreadSanitizer support to Linux on s390x (Miod Vallat, review by Tim McGilchrist) =E2=80=A2 [#12914]: Slightly change the s390x assembly dialect in order to build with Clang's integrated assembler. (Miod Vallat, review by Gabriel Scherer) =E2=80=A2 [#12897]: fix locking bugs in Runtime_events (Gabriel Scherer a= nd Thomas Leonard, review by Olivier Nicole, Vincent Laviron and Damien Doligez, report by Thomas Leonard) =E2=80=A2 [#12860]: Fix an assertion that wasn't taking into account the possibility of an ephemeron pointing at static data. (Mark Shinwell, review by Gabriel Scherer and KC Sivaramakrishnan) =E2=80=A2 [#11040], [#12894]: Silence false data race observed between caml_shared_try_alloc and oldify. Introduces macros to call tsan annotations which help annotate a ~~happens before'' relationship. (Hari Hara Naveen S and Olivier Nicole, review by Gabriel Scherer and Miod Vallat) =E2=80=A2 [#12919]: Fix register corruption in caml_callback2_asm on s390= x. (Miod Vallat, review by Gabriel Scherer) =E2=80=A2 [#12969]: Fix a data race in caml_darken_cont (Fabrice Buoro and Olivier Nicole, review by Gabriel Scherer and Miod Vallat) [#12875] [#12879] [#12882] [#12876] [#12678] [#12898] [#12915] [#12914] [#12897] [#12860] [#11040] [#12894] [#12919] [#12969] =E2=97=8A Standard Library Fix =E2=80=A2 [#12677], [#12889]: make Domain.DLS thread-safe (Gabriel Schere= r, review by Olivier Nicole and Damien Doligez, report by Vesa Karvonen) [#12677] [#12889] =E2=97=8A Type System Fix =E2=80=A2 [#12924], [#12930]: Rework package constraint checking to impro= ve interaction with immediacy (Chris Casinghino and Florian Angeletti, review by Florian Angeletti and Richard Eisenberg) [#12924] [#12930] =E2=97=8A Compiler User-Interface Fix =E2=80=A2 [#12971], [#12974]: fix an uncaught Ctype.Escape exception on s= ome invalid programs forming recursive types. (Gabriel Scherer, review by Florian Angeletti, report by Neven Villani) [#12971] [#12974] =E2=97=8A Build System Fixes =E2=80=A2 [#12198], [#12321], [#12586], [#12616], [#12706], [#13048]: con= tinue the merge of the sub-makefiles into the root Makefile started with [#11243], [#11248], [#11268], [#11420] and [#11675]. (S=C3=A9bastien Hinderer, review by David Allsopp and Florian Angeletti) =E2=80=A2 [#12768], [#13030]: Detect mingw-w64 coupling with GCC or LLVM, detect clang-cl, and fix C compiler feature detection on macOS. (Antonin D=C3=A9cimo, review by Miod Vallat and S=C3=A9bastien Hinderer) =E2=80=A2 [#13019]: Remove linking instructions for the Unix library from threads.cma (this was done for threads.cmxa in OCaml 3.11). Eliminates warnings from new lld when using threads.cma of duplicated libraries. (David Allsopp, review by Nicol=C3=A1s Ojeda B= =C3=A4r) =E2=80=A2 [#12758], [#12998]: Remove the `Marshal.Compression' flag to the `Marshal.to_*' functions. The compilers are still able to use ZSTD compression for compilation artefacts. This is a forward port and clean-up of the emergency fix that was introduced [#12198] [#12321] [#12586] [#12616] [#12706] [#13048] [#11243] [#11248] [#11268] [#11420] [#11675] [#12768] [#13030] [#13019] [#12758] [#12998] =E2=97=8A Compiler Internals Fix =E2=80=A2 [#12389], [#12544], [#12984], +[#12987]: centralize the handlin= g of metadata for compilation units and artifacts in preparation for better unicode support for OCaml source files. (Florian Angeletti, review by Vincent Laviron and Gabriel Scherer) [#12389] [#12544] [#12984] [#12987] 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 [Eio 1.0 Release: Introducing a new Effects-Based I/O Library f= or OCaml] =E2=80=A2 [CPS Representation and Foundational Design Decisions in Flambd= a2] =E2=80=A2 [The Flambda2 Snippets, Episode 0 ] [the ocaml.org blog] [Eio 1.0 Release: Introducing a new Effects-Based I/O Library for OCaml] [CPS Representation and Foundational Design Decisions in Flambda2] [The Flambda2 Snippets, Episode 0 ] 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 March 19 to 26, 2024.

The Flambda2 Snippets, by OCamlPro

OCamlPro announced

Greetings Cameleers,

Today, we are excited to share with you a first glance at some redactional = work that has been brewing behind at the scenes at OCamlPro for quite a some time now!

We are starting a series of blogposts on the Flambda2 project. The goals are plenty, one of them being to give all readers an idea of the inner workings= of this great piece of software, 10 years of research & development in the= making.

The first two episodes are rather special to the series:

  • Episode 0 gives context and broader information on both the Flambda2= Optimising Compiler project, and the series of blogposts itself.
  • Episode 1, on the other hand, steps right into the subject at hand a= nd covers some of the foundational design decisions of this compiler.

We await your feedback below, and hope that you will enjoy reading these po= sts, and all ensuing ones!

Kind regards, The OCamlPro Team

Eio 1.0: First major release

Sudha Parimala announced

I'm happy to announce the release of Eio 1.0, its first major release. Eio started as an experimental effects-based library by the same team that was = working on Multicore OCaml. We did not initially plan on upstreaming effects with OCaml 5.0. How= ever, thanks to the efforts from the multicore team and OCaml core developers, effect handlers = shipped with OCaml 5.0 (making it one of the first mainstream languages to do so). This presented = the opportunity to develop effect-based concurrency libraries for OCaml, and Eio was the first= of the lot..

Find more about the journey of Eio in this post – Eio 1.0 Release: Introducing a new Effects-Based I/O Library for OCaml

This is the beginning of the journey towards effect-based schedulers! We ar= e keen to hear from you all to shape up what would be Eio 2.0.

If you're looking to get started with Eio, the READ= ME is a good place to start. Additionally, @talex5's video introduction, and t= utorial to port your Lwt applications to Eio serve as good primers.

I'd like to thank all the contributors for their work and users for their t= houghtful feedback. As always, happy to hear feedback about Eio.

Happy hacking!

ppx_minidebug 1.3.0: toward a logging framework

Lukasz Stafiniak announced

Happy to announce ppx_minidebug 1.5.0. It should soon propagate to the opam= repository. Two new features since 1.4.0:

  • [%log_entry header_string; body...] syntax to explicitly c= reate log subtrees without polluting with source location information. Note= that if you want the source location you could always do let _for_de= bug : type... =3D body... in....
  • Minimalistic flame graphs. Example:

    3D=

    (Note that the output is very configurable, e.g. by default the at el= apsed time information is not printed.)

Academic OCaml Users Testimonials!

Claire Vandenberghe announced

Are you an academic user of OCaml?

By sharing your testimonial, you're not only showcasing your expertise and = experience but also contributing to the OCaml community.

Your insights can help prospective users understand the academic value of O= Caml and inspire them to explore its potential further.

Your testimonial will be featured on our academic user page, inspiring othe= rs to explore OCaml's potential.=20

Tell us:

  1. Your name and academic affiliation.
  2. A brief description of how you=E2=80=99ve used OCaml in your academic e= ndeavors.
  3. Your thoughts on the benefits and challenges of using OCaml.

Thanks

OCaml.org Team

UnixJunkie then replied

Some years ago, I wrote a testimonial in an invited paper:

Chemoinformatics and structural bioinformatics in OCaml https://jcheminf.biomedcentral.com/articles/10.1186/s13321-019-0332-= 0

Volunteers for ICFP 2024 Artifact Evaluation Committee (AEC)

Beno=C3=AEt Montagu announced

Dear all,

We are looking for motivated people to be members of the ICFP 2024 Artifact Evaluation Committee (AEC). Students, researchers and people from the industry or the free software community are all welcome. The artifact evaluation process aims to improve the quality and reproducibility of research artifacts for ICFP papers. In case you want to nominate someone else (students, colleagues, etc.), please send them the nomination form.

Nomination form: https://forms.gle/KJAjtDz= hm5VLxjVf9

Deadline for nominations: Mon April 8th 2024

For more information, see the AEC webpage: https://icfp24.sigplan.org/track/icfp-2024-artifact-evaluation

The primary responsibility of committee members is to review the artifacts submitted corresponding to the already conditionally accepted papers in the main research track. In particular, run the associated tool or benchmark, check whether the results in the paper can be reproduced, and inspect the tool and the data.

We expect evaluation of one artifact to take about a full day. Each committee member will receive 2 to 3 artifacts to review.

All of the AEC work will be done remotely/online. The AEC will work in June, with the review work happening between June 5th and July 5th.

Come join us in improving the quality of research in our field!

Best, the Artifact Evaluation chairs: Quentin Sti=C3=A9venart and Beno=C3=AEt Mon= tagu

First beta release for OCaml 5.2.0

octachron announced

Nearly two months after the first alpha release, the release of OCaml 5.2.0= is drawing near.

We have thus released a first beta version of OCaml 5.2.0 to help you updat= e your softwares and libraries ahead of the release (see below for the installation instructions= ).

Compared to the alpha release, this beta contains a majority of runtime sys= tem fixes, and a handful of other fixes across many subsystems.

Overall, the opam ecosystem looks in a good shape for the first beta releas= e. Most core development tools support OCaml 5.2.0 or have compatibility patch= under review (for odoc and ocamlformat), and you can follow the las= t remaining wrinkles on the opam read= iness for 5.2.0 meta-issue.

If you find any bugs, please report them on OCaml's issue tracker.

Currently, the release is planned for the end of April or the beginning of = May.

If you are interested in full list of features and bug fixes of the new OCa= ml version, the updated change log for OCaml 5.2.0 is available on GitHub.

Installation Instructions

The base compiler can be installed as an opam switch with the following com= mands on opam 2.1:

opam update
opam switch create 5.2.0~beta1

The source code for the alpha is also available at these addresses:

  • Fine-Tuned Compiler Configuration

    If you want to tweak the configuration of the compiler, you can switch to t= he option variant with:

    opam update
    opam switch create <switch_name> ocaml-variants.5.2.0~beta1+options &=
    lt;option_list>
    

    where option_list is a space-separated list of ocaml-opt= ion-* packages. For instance, for a flambda and no-flat-float-array switch:

    opam switch create 5.2.0~beta1+flambda+nffa oc=
    aml-variants.5.2.0~beta1+options
    ocaml-option-flambda ocaml-option-no-flat-float-array
    

    All available options can be listed with opam search ocaml-option.

Changes since the first alpha

  • Runtime System Fixes
    • #12875, #12879, #12882: Execute preemptiv= e systhread switching as a delayed pending action. This ensures that one can reason within the FFI that no mutation happens on the same domain when allocating on the OCaml heap from C, consistently with OCaml 4. This also fixes further bugs with the multicore systhreads implementation. (Guillaume Munch-Maccagnoni, bug reports and suggestion by Mark Shinwell, review by Nick Barnes and Stephen Dolan)
    • #12876: Por= t ThreadSanitizer support to Linux on POWER (Miod Vallat, review by Tim McGilchrist)
    • #12678, #12898: free chann= el buffers on close rather than on finalization (Damien Doligez, review by Jan Midtgaard and Gabriel Scherer, report by Jan Midtgaard)
    • #12915: Por= t ThreadSanitizer support to Linux on s390x (Miod Vallat, review by Tim McGilchrist)
    • #12914: Sli= ghtly change the s390x assembly dialect in order to build with Clang's integrated assembler. (Miod Vallat, review by Gabriel Scherer)
    • #12897: fix= locking bugs in Runtime_events (Gabriel Scherer and Thomas Leonard, review by Olivier Nicole, Vincent Laviron and Damien Doligez, report by Thomas Leonard)
    • #12860: Fix= an assertion that wasn't taking into account the possibility of an ephemeron pointing at static data. (Mark Shinwell, review by Gabriel Scherer and KC Sivaramakrishnan)
    • #11040, #12894: Silence fa= lse data race observed between caml_shared_try_alloc and oldify. Introduces macros to call tsan annotations which help annotate a ~~happens before'' relationship. (Hari Hara Naveen S and Olivier Nicole, review by Gabriel Scherer and Miod Vallat)
    • #12919: Fix= register corruption in caml_callback2_asm on s390x. (Miod Vallat, review by Gabriel Scherer)
    • #12969: Fix= a data race in caml_darken_cont (Fabrice Buoro and Olivier Nicole, review by Gabriel Scherer and Miod Valla= t)
  • Standard Library Fix
    • #12677, #12889: make Domai= n.DLS thread-safe (Gabriel Scherer, review by Olivier Nicole and Damien Doligez, report by Vesa Karvonen)
  • Type System Fix
    • #12924, #12930: Rework pac= kage constraint checking to improve interaction with immediacy (Chris Casinghino and Florian Angeletti, review by Florian Angeletti and Richard Eisenberg)
  • Compiler User-Interface Fix
    • #12971, #12974: fix an unc= aught Ctype.Escape exception on some invalid programs forming recursive types. (Gabriel Scherer, review by Florian Angeletti, report by Neven Villani)
  • Build System Fixes
    • #12198, #12321, #12586, #12616, #12706, #13048: continue the merge of the sub-makefile= s into the root Makefile started with #11243, #11248, #11268, #1= 1420 and #11675= . (S=C3=A9bastien Hinderer, review by David Allsopp and Florian Angelet= ti)
    • #12768, #13030: Detect min= gw-w64 coupling with GCC or LLVM, detect clang-cl, and fix C compiler feature detection on macOS. (Antonin D=C3=A9cimo, review by Miod Vallat and S=C3=A9bastien Hinderer)
    • #13019: Rem= ove linking instructions for the Unix library from threads.cma (this was done for threads.cmxa in OCaml 3.11). Eliminates warnings from new lld when using threads.cma of duplicated libraries. (David Allsopp, review by Nicol=C3=A1s Ojeda B=C3=A4r)
    • #12758, #12998: Remove the= Marshal.Compression flag to the Marshal.to_* functions. The compilers are still able to use ZSTD compression for compilation artefacts. This is a forward port and clean-up of the emergency fix that was introduce= d
  • Compiler Internals Fix
    • #12389, #12544, #12984, +#12987: centralize the handling= of metadata for compilation units and artifacts in preparation for better unicode support f= or OCaml source files. (Florian Angeletti, review by Vincent Laviron and Gabriel Scherer)

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.

--=-=-=--