From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by c5ff346549e7 (Postfix) with ESMTPS id 0D7975D6 for ; Fri, 8 Oct 2021 01:42:07 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.84,326,1620684000"; d="scan'208";a="532719415" Received: from prod-listesu18.inria.fr (HELO sympa.inria.fr) ([128.93.162.160]) by mail2-relais-roc.national.inria.fr with ESMTP; 08 Oct 2021 03:42:05 +0200 Received: by sympa.inria.fr (Postfix, from userid 20132) id 473B0E0290; Fri, 8 Oct 2021 03:42:05 +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 D98E2E003C for ; Fri, 8 Oct 2021 03:42:03 +0200 (CEST) Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=mlists@ligand.eu; spf=Pass smtp.mailfrom=mlists@ligand.eu; spf=None smtp.helo=postmaster@relay11.mail.gandi.net IronPort-PHdr: =?us-ascii?q?A9a23=3AAeuv1x9/DyxUgf9uWVy7ngc9DxPPW53KNwIYoqA?= =?us-ascii?q?ql6hJOvz6uci4ZAqOvL4w0xfgZsby07p8ke3YsqTtCyQrwK2qlzQ8SqFKTAIPk?= =?us-ascii?q?s4MngYtU4avAEz/K+P2PWRhRJwRHFBq8GumPkdLBc3we0PdomGo7T4VBx7zKRd?= =?us-ascii?q?5Kv76F4LMk8i7zeS/94DcbwhIhje2fK9/IgixoQjNrMcdnJFsKrw2yhvHo3tIf?= =?us-ascii?q?/pZyGZ1Ll+NnBjy+9m98od7/ytfp/wu+chAUb7nf6sjVrxXEC4mM2Eu68L1sxT?= =?us-ascii?q?IUBaC6WEdUmUSlRpIHhTF4RTnVZr/rif2quxw0zSBMMboUb47Ryit76ZzSB/pl?= =?us-ascii?q?igHMSI58HrKgcB0la5XvQ6tqwB6z4PSfYqbNudxfrnFcNwVS2RPXthfWTFDDYO?= =?us-ascii?q?yYYQBDOUAMvpXoYTmu1sDrxm+CRWwCO711DNFgGL9060g0+QmFAHLxAwuH8gUv?= =?us-ascii?q?3TSsNr1M6YSUfuox6TV0zrDde1Z2THy6IfWaBAqvPaBXbd0ccrQ0kkvCxjFg06?= =?us-ascii?q?UqYzkMDOazOINvHWB4+V+SOKikmgqoBx+rTaz3MkjkJXJhp4LxVDe8yV02IY4K?= =?us-ascii?q?MG8RUN1YNOqEIVcuS+eOoZrX88vTX1ltDg0x7AItpO2cikHxZokyhLCa/GJfJa?= =?us-ascii?q?E7w7jWeuMLjl0mGxpdbK5ih2v/0agzej8WdO10FZMtidFndjMtmwN1xzO8ceLU?= =?us-ascii?q?Ody/kCk2TqXzQ/T8O5FIUEqlabBLJ4h2LEwm5wOukrABi/7gFv6gLKUe0k++OW?= =?us-ascii?q?k9/7rbqjkq5KfLYN4lA/zPrkol8eiG+o3KBIOUHKe+emk1L3s40n5QLJSg/0sj?= =?us-ascii?q?KbZtIrVJMQGqqKkGQNV15ws6xe7Dzu839QXh38HI09EeB6diYjmJU3OLOj5Dfe?= =?us-ascii?q?5nVusjC9my+7bMrDjGJnALGTPnK38cbt/6ENQ0hQ/wN5C655MD7EOOvPzWkv/t?= =?us-ascii?q?NzCCR85NhS5w+PjCNV8zYMeRXmPD7SdMKPTvl+H/OQvLPSWaIALpTbxM+Il6OL?= =?us-ascii?q?2jX8lhV8derGk0ocNZ3C9GvRqOkGZYXv3gtcdCmoKpQo/TOnyiFKYSzJTZnCyX?= =?us-ascii?q?7g95j4hEo6mA53DTJi3gLOdxCe7AoFWZmdeB1CCC3jocYqEVOkIaC2MPs9siT0?= =?us-ascii?q?FVbmkS4A6zxGhrhX2y7thLurO+y0Xr4jv1NZv576bqRZn2zhzFcWU1SmkSW55m?= =?us-ascii?q?m4UWz5+iK57plZ8w1HF2K53jvhVCcBSz/JPSAYzc5DGmb9UEdf3Dyzbd9GCT1e?= =?us-ascii?q?9Cv+rGzw3Qd8ri4sLZ0dmB86KihHM1iymRbIIwe/YTKco+77RiiCib/12zGzLg?= =?us-ascii?q?ex41wFOqi5nMWypj6hzsQXOVdahe6qxk6elfKIQmiPQpj7rJYumpkxcWR8pCOP?= =?us-ascii?q?AVHEbIETfq9j4oEXPU+32YYk=3D?= IronPort-HdrOrdr: =?us-ascii?q?A9a23=3AgkTLMKwqKrQLhY/1q4K1KrPwFr1zdoMgy1kn?= =?us-ascii?q?xilNoNJuE/Bw8Pre5cjztCWE7gr5PUtLpTnuAsW9qB/nmqKdpLNhXotKPzOKhI?= =?us-ascii?q?LLFvAH0WKK+VSJcBEWtNQtt5uIGJIfNDSfNzZHZIrBkWyF+4ZJ+qjhzJyV?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0DeAAASaxphh+eyRtlaHAEBAQEBAQcBA?= =?us-ascii?q?RIBAQQEAQFAgVmDIlY7MZQQgiQDgRCJW5J5CwEDAQ01DAQBAYRhAoJrAh0HAQQ?= =?us-ascii?q?0EwECBBUBAQUBAQECAQMDBAETAQEBAQsNDgg6JIVoDYI1KQGDYwEBAQECATgCB?= =?us-ascii?q?gEBNwEECwQHGBwSSQENBhuCaQGCYQUlC6ZyeIEzgQGCBwEBBoE+AYEahSkDBoE?= =?us-ascii?q?6iluCHnonHH2BEIEVgm4HMD6CYgKHW4QrYS8EAxCBTQ0rDgEpCy+RFyYwjUtdn?= =?us-ascii?q?R2DMoo9lAMSGRKmdaJPmQeBd4F9Hy4mEjuCaVAZDo4gGYNZgQGEE4VZNS84AgY?= =?us-ascii?q?LAQEDCYl1AQE?= X-IPAS-Result: =?us-ascii?q?A0DeAAASaxphh+eyRtlaHAEBAQEBAQcBARIBAQQEAQFAgVm?= =?us-ascii?q?DIlY7MZQQgiQDgRCJW5J5CwEDAQ01DAQBAYRhAoJrAh0HAQQ0EwECBBUBAQUBA?= =?us-ascii?q?QECAQMDBAETAQEBAQsNDgg6JIVoDYI1KQGDYwEBAQECATgCBgEBNwEECwQHGBw?= =?us-ascii?q?SSQENBhuCaQGCYQUlC6ZyeIEzgQGCBwEBBoE+AYEahSkDBoE6iluCHnonHH2BE?= =?us-ascii?q?IEVgm4HMD6CYgKHW4QrYS8EAxCBTQ0rDgEpCy+RFyYwjUtdnR2DMoo9lAMSGRK?= =?us-ascii?q?mdaJPmQeBd4F9Hy4mEjuCaVAZDo4gGYNZgQGEE4VZNS84AgYLAQEDCYl1AQE?= X-IronPort-AV: E=Sophos;i="5.84,326,1620684000"; d="scan'208";a="395259819" X-MGA-submission: =?us-ascii?q?MDHLDJp4GzxfFjDYNN6S6+O1SITk+fbbwkx7yi?= =?us-ascii?q?MxdaMnVFLDmdFmzQQKA8Gz+2o+uvUtCwdsaNXxDVv0JKRE6wfX5FKp1b?= =?us-ascii?q?tEAIPDXIpIi96JRykSH0vtcLmZuzk7k1JdfUAw7xpcWIuqkeVZ3Vs8SS?= =?us-ascii?q?6GGsN+632upX++eKQH66kIqg=3D=3D?= Received: from relay11.mail.gandi.net ([217.70.178.231]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Oct 2021 03:42:02 +0200 Received: (Authenticated sender: mlists@ligand.eu) by relay11.mail.gandi.net (Postfix) with ESMTPA id 06625100005; Fri, 8 Oct 2021 01:42:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ligand.eu; s=gm1; t=1633657322; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WFPgwE56KeSn3HdN8GmOMpVxZZB4VdM3bl5XL2MlDjE=; b=a9XqfNbjLEG5Df0w7yDLTrhqSOSdoGt72lA6BNBBbRvA7/vY/mPdK+ZK10yq43vGdOCzVo vjkQVGnD8GR49HL5XsHHfiJNtBeQ3+7MKEmZOZzDRQx3Apy/5rru+NuWS8YkD07VEpQMwl aNDb9+4s13Ja+3ZKRqT0X/dO0uDxilLFgKIOHjPc+v8cvEz8dClD2+tmOHVPVTp2CFZJvb xZBd2e9U0IIM8ALKVIpjwQx+9Bs5bLihCq/gIYRTS13OuONCfOXf639qpXRDYQfeHfzWuq pGjBzzT2y7QnV2nWi0WVeBo7aKcM2eV+WOicHi/WZ+lCsNABMANPAcRQ3wUoEg== MIME-Version: 1.0 Date: Fri, 08 Oct 2021 10:42:01 +0900 From: Francois Berenger To: Florian Angeletti Cc: caml-list In-Reply-To: <1219673154.28999293.1633600103529.JavaMail.zimbra@inria.fr> References: <1219673154.28999293.1633600103529.JavaMail.zimbra@inria.fr> User-Agent: Roundcube Webmail/1.4.11 Message-ID: <81d85fe9d252341184e540deb50dbe53@ligand.eu> X-Sender: mlists@ligand.eu Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Caml-list] The road to OCaml 5.0 Reply-To: Francois Berenger X-Loop: caml-list@inria.fr X-Sequence: 18587 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: On 07/10/2021 18:48, Florian Angeletti wrote: > With the convergence between the multicore and standard runtime across > OCaml 4.10.0 to 4.13.0, the development of OCaml multicore has reached > a point > where further integration into OCaml's main branch requires fully > committing to > a switch to OCaml multicore. > > The OCaml team has decided that the time has come for such a > commitment. > The new major version, OCaml 5, will be a multicore version of OCaml. > Moreover, OCaml 4.14 will be the last minor release of the 4.x series > of OCaml. > > Multicore Minimum Viable Product (MVP) > ------------------------------------------------------ > > The first version of OCaml multicore, code-named OCaml 5.0, will be > a Minimum Viable Product focused on: > > - x86-64 > - Linux, MacOS, Windows mingw-w64 > - Parallelism through Domains [1] > - Concurrency through Effect Handlers [2] (without syntactic support > and exposed as functions from the standard library) > > Our plan is to integrate the multicore branch into the main branch > during the > next 6 months. Hopefully, OCaml 5.0 will then be released between > March and > April 2022. > > Note that OCaml 5.0 focuses on minimal (solid) support for the > multicore > runtime system, and will not provide stable user-facing concurrency > and > parallelism libraries. There has been a lot of experimentation [3,4] > in the last > few years, and some work remains to offer long-term, user-facing > concurrent and > parallel programming abstractions. OCaml 5.0 will be a great time to > start > adding concurrency and parallelism to your OCaml programs, but the > libraries > will still be in flux. The Parany library: --- Generalized map reduce for multicore computers (unfold, map in parallel, fold). Parany can process in parallel an "infinite" stream of elements (too big to fit in memory). Any Parmap functionality can be reimplemented using parany. --- already has a git branch which is relying on multicore-OCaml: https://github.com/UnixJunkie/parany/tree/domains When OCaml-5.0 ships, I will ship a parany version compatible with it. I am quite sure Parmap could do the same, by the way (but I'm not the Parmap maintainer). Regards, F. > Long term support for OCaml 4.14 > ---------------------------------------------- > > While OCaml 5 is stabilising, we plan to extend the support period for > OCaml 4.14 by publishing minor bugfix releases whenever needed. In > particular, > OCaml 4.14 will be supported until all tier-1 architectures and > operating systems > are available in OCaml 5, and OCaml 5 sequential performance is close > enough to > that of OCaml 4. > > The sequential glaciation > --------------------------------- > > To ensure that maintainers can concentrate on Multicore integration, > and avoid > any rebase work for the Multicore developers, the trunk branch will be > feature-frozen starting from November 2021. All non-bugfix > non-multicore > contributions will be delayed to after the Multicore integration. > We are calling this period the "sequential glaciation". > > We understand that this may be frustrating for our contributors, and > apologize > for the delay in getting your nice work reviewed and merged into the > codebase. > We hope that the sequential glaciation will be a good opportunity to > help with > the Multicore integration, review and testing, and/or focus on > non-core-compiler > efforts and the rest of the OCaml ecosystem. > > With this early feature-freeze, we also plan to release OCaml 4.14.0 > in advance, > between January-February 2022, reducing the concurrency between the > OCaml 5.0 > and OCaml 4.14.0 releases. > > References > --------------- > [1] "Retrofitting Parallelism onto OCaml", ICFP 2020, > https://arxiv.org/abs/2004.11663 > [2] "Retrofitting Concurrency onto OCaml", PLDI 2021, > https://arxiv.org/abs/2104.00250 > [3] Domainslib -- Parallel Programming over Multicore OCaml, > https://github.com/ocaml-multicore/domainslib > [4] eio -- Effects-based Parallel IO for OCaml, > https://github.com/ocaml-multicore/eio > > Happy hacking, > Florian Angeletti, for the OCaml team.