From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 6846C7FA5E for ; Wed, 19 Apr 2017 21:24:14 +0200 (CEST) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=antronbachin@gmail.com; spf=Pass smtp.mailfrom=antronbachin@gmail.com; spf=None smtp.helo=postmaster@mail-io0-f182.google.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of antronbachin@gmail.com) identity=pra; client-ip=209.85.223.182; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="antronbachin@gmail.com"; x-sender="antronbachin@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of antronbachin@gmail.com designates 209.85.223.182 as permitted sender) identity=mailfrom; client-ip=209.85.223.182; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="antronbachin@gmail.com"; x-sender="antronbachin@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-io0-f182.google.com) identity=helo; client-ip=209.85.223.182; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="antronbachin@gmail.com"; x-sender="postmaster@mail-io0-f182.google.com"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3AL8x6ABG+OFzAvOJQRqZQpJ1GYnF86YWxBRYc798d?= =?us-ascii?q?s5kLTJ7yp82wAkXT6L1XgUPTWs2DsrQf2raQ6/iocFdDyK7JiGoFfp1IWk1Nou?= =?us-ascii?q?QttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXdrXKo8DEdBAj0OxZr?= =?us-ascii?q?KeTpAI7SiNm82/yv95HJbQhFgDWwbaluIBmqsA7cqtQYjYx+J6gr1xDHuGFIe+?= =?us-ascii?q?NYxWNpIVKcgRPx7dqu8ZBg7ipdpesv+9ZPXqvmcas4S6dYDCk9PGAu+MLrrxjD?= =?us-ascii?q?QhCR6XYaT24bjwBHAwnB7BH9Q5fxri73vfdz1SWGIcH7S60/VC+85Kl3VhDnlC?= =?us-ascii?q?YHNyY48G7JjMxwkLlbqw+lqxBm3oLYfJ2ZOP94c6jAf90VWHBBU95RWSNdDY2z?= =?us-ascii?q?YJYBAekPM+hGqIfwvEcOrQK7BQWwBOPj1j1Fi3nr1qM6yeQhFgTG0RQ8EtIIrH?= =?us-ascii?q?TUq9P1P7oPXO+v0KbIzTTDb/VL0jr68ofIdAwhoeuLXbJ2asXe01UgFwPEjlWW?= =?us-ascii?q?soHlMDaV2f4Ms2if9eZvSeWvi2s+pgx3vzOhyMAsiozTiYIUzFDJ7Sp5wIcpJd?= =?us-ascii?q?24VU50esSoH4dXtyGfL4d2RsIiTHp1uCYk0LEGvoS7fCcMxZ86xBDfc+SKf5aU?= =?us-ascii?q?7h/nTuqcIjd1iGh7dL6hiRu+61Wsx+7iWsWszlpHrzZJnsTJu3wT2BHf9s2KRe?= =?us-ascii?q?d880u9xTqC0gPe5fpZLkwokKfWJJ4sz70umZcWrUvOESz7lUTzgaKSaEkr5/Wk?= =?us-ascii?q?5uHmb7n6qJ+QKol5gRzkPKs0gMywG+E4PxAOX2eF/eS806Xu/UjjT7VLiv06i6?= =?us-ascii?q?jZsJfGKcgCqK61HgxY3pg55xawCDem19sYnX0ZI15fZB2HiI3pN0nPIPD+E/i/?= =?us-ascii?q?n0yhnCl3y/3CJLHsAZXAImLdnLv/c7tx8VNQxQktwdxH4pJbELABIPb9Wk/rs9?= =?us-ascii?q?zYCwc0PBayw+b7EtV90YUeVnmVDaCFMKPSsFmI6/kgI+mJfoAVuTL9J+I56P7p?= =?us-ascii?q?iH81gUUdcrWx3ZsLdHC4GexrLFmDbnrphtcNCGMKvgslTOz2k1CCSj5SZ3OqX6?= =?us-ascii?q?0m/D07CYSmDZ3CRo+3mrCB0j27TdVqYTVtA1WIWVPpbJnMD/wFbSbXJs56jhQF?= =?us-ascii?q?U6KgQskvz0f9mhX9zu9OKPbT/GUyvJnj1d49s+TViQs18zZ9BMSc1UmCSmh1mi?= =?us-ascii?q?UDQDpgj/M3mlB01lrWifswuPdfD9EGoqoRCgo=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AbBAAmuPdYf7bfVdFcHgYMGQYMgmSBJ?= =?us-ascii?q?oELg2elBIxWgg8OHol+QRYBAQEBAQEBAQEBARIBAQkLCwgmMYIzIgGCaR0BGw8?= =?us-ascii?q?BCAIEAxIQDwImAiURAQUBIooTAQMVAQ2aM4NFP4wEggQFARyDCQWDXgoZJw1Wg?= =?us-ascii?q?wkBAQEHAQEBARwCBgkBCHmHUIVlhCwMLi6CMQWRA4wshxGLawqCS4gKhmsCj1W?= =?us-ascii?q?CdDOBFSUBgTYmHSBqAQaCPYICgixXAYhqAQEB?= X-IPAS-Result: =?us-ascii?q?A0AbBAAmuPdYf7bfVdFcHgYMGQYMgmSBJoELg2elBIxWgg8?= =?us-ascii?q?OHol+QRYBAQEBAQEBAQEBARIBAQkLCwgmMYIzIgGCaR0BGw8BCAIEAxIQDwImA?= =?us-ascii?q?iURAQUBIooTAQMVAQ2aM4NFP4wEggQFARyDCQWDXgoZJw1WgwkBAQEHAQEBARw?= =?us-ascii?q?CBgkBCHmHUIVlhCwMLi6CMQWRA4wshxGLawqCS4gKhmsCj1WCdDOBFSUBgTYmH?= =?us-ascii?q?SBqAQaCPYICgixXAYhqAQEB?= X-IronPort-AV: E=Sophos;i="5.37,222,1488841200"; d="scan'208";a="269632018" Received: from mail-io0-f182.google.com ([209.85.223.182]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 19 Apr 2017 21:24:13 +0200 Received: by mail-io0-f182.google.com with SMTP id a103so34310872ioj.1 for ; Wed, 19 Apr 2017 12:24:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:content-transfer-encoding:mime-version:subject:message-id:date :to; bh=1KiY8j+liNKh6LkgshEK+jqSwWUjjRBWUptI8sc8sp8=; b=hwOfNiTPFYdtw8kbkHy6qUzQHR4qPafmT3/MQPqqOF/cbZC6OLas5EyBUivmvRyrco FPjG5qBFrYnhV7DNlCvvbK3lFDx9k1cEWxEpt2SFSAsvP8dV37nP18epPQby3Sjq8FxO EDIF/64Qu1mt1Ekuhi0wERDhje9IgzvBoRQzzw6DK4qEg798EJ35uBovy5zHI9JFsZS5 z/G1hda4FxaGq+8Kcl5rhie0xgxVd3U+n7pM+kN3OqzScJe6MCmK2GuN4oOacGj0bIkN Q1AD4B/c2H3cjlaCRmAS4EemIt69n+RYOo1sXj7JErlcjVUxssegQuAvu4rFNzg/yf7X pRYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:content-transfer-encoding:mime-version :subject:message-id:date:to; bh=1KiY8j+liNKh6LkgshEK+jqSwWUjjRBWUptI8sc8sp8=; b=krwztzSHHpPpRWuO2LqN3gbhN5XF0UMWlhHlyuoc7pk1x58j/sBoVY3AAmac7HwcDm scEiGpAGDBUuyMv4gI9rWJLdDKxOkoNB0gVOdyIOybk4hd4PNLcfKNOgwF/LnRkBc1BZ Uq1m5gqHgY69XoP4dhDIaiG2WeIk3mCyFUvEbC3E9cUSQA4RC6/hJ/qMdqwLJ8q72Dy/ xqN9jN5Kd2WuEA/HMvXHsB42elSGALoXGm6qlZe5+wjKk7Uw8WcHrJK3ZjLUYihFhfjs LfaEEziqZk5NxhNIyz5hhAVccmvurZZ2zSwyRDhEgcp8RfY5dQr0rLczjmSsTIXPS5rY +4YQ== X-Gm-Message-State: AN3rC/5u+Enep9X8CDjzBaNUpOTu0LKe/q+qoXVIG4dehWwUin5D9Dfe TOaL3QpEDzjCe//i X-Received: by 10.107.155.16 with SMTP id d16mr4964215ioe.125.1492629851349; Wed, 19 Apr 2017 12:24:11 -0700 (PDT) Received: from ?IPv6:2601:240:c600:8bd0:458e:c486:92d1:60f1? ([2601:240:c600:8bd0:458e:c486:92d1:60f1]) by smtp.gmail.com with ESMTPSA id h142sm6795197ith.31.2017.04.19.12.24.10 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 19 Apr 2017 12:24:10 -0700 (PDT) From: Anton Bachin Content-Type: text/plain; charset=utf-8 X-Mao-Original-Outgoing-Id: 514322649.520713-a9a0cef8e14f7d160eb410caff71b7f2 Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 10.2 \(3259\)) Message-Id: Date: Wed, 19 Apr 2017 14:24:09 -0500 To: Caml List X-Mailer: Apple Mail (2.3259) Subject: [Caml-list] =?UTF-8?Q?=5BANN=5D_Lwt_3=2E0=2E0_=E2=80=93_monadic_p?= =?UTF-8?Q?romises_and_concurrent_I/O?= Greetings fellow Camels, We are pleased to announce release 3.0.0 of Lwt, the concurrent programming/promise library. https://github.com/ocsigen/lwt This release makes some minor breaking improvements to the Lwt API, which were previously announced in release 2.7.0. You can see the changelog here: https://github.com/ocsigen/lwt/releases/tag/3.0.0 The non-breaking changes made to date are separated out into a preceding Lwt 2.7.1, also released recently. Most notable are compatibility with OCaml 4.05 and the official announcement of Lwt_result: https://github.com/ocsigen/lwt/releases/tag/2.7.1 Release 3.0.0 completes the first test of Lwt's "soft" breakage cycle [1]: Lwt warns users about upcoming breakage, provides simple upgrade paths, and gives time to (optionally) adapt before the breakage actually occurs. Simultaneously, users are invited to visit the Lwt repository and object to any planned breaking change, or otherwise contribute their opinions and expertise. We hope that, going forward, this will give us the flexibility to fix crufty parts of Lwt in a consensual fashion, without causing unjustified headaches and surprises. Of course, we prefer to avoid breakage as much as possible =E2=80=93 but, here and there, some things just need to be brok= en. 3.0.0 factors some of Lwt's optional dependencies fully out into their own packages [2]. This process will likely continue with factoring out the Camlp4 extension and the PPX [3]. We are also eyeing the Lwt Unix bindings, though this requires more consideration. On the subject of Unix, we are also considering some kind of "merger," literal or not, [4] between Lwt and uwt [5], the Lwt-aware binding to libuv [6]. A combination of a libuv binding and prospective bindings to Node.js [7] might be the best way to create portable, maintainable I/O bindings at once for Unix-like operating systems, Windows, and Node. This work, however, is in an absolutely embryonic stage, and we are not sure how or where it might go. Though not immediately relevant to users, work continues on reducing the internal technical debt of Lwt. We hope this makes contributing to Lwt easier in the future =E2=80=93 that Lwt will not be a forbidding code base. This should help everyone in the longer term, and it goes hand-in-hand with the slow writing of the new manual. It seems writing tests, and refactoring Lwt in places, are necessary to gain the kind of understanding needed to write a good, thorough manual in the first place. The Lwt project welcomes new co-maintainers: Mauricio Fernandez (@mfp) and Simon Cruanes (@c-cube). Their fresh perspectives and expertise, both general and specialized, already help the quality of Lwt greatly. Happy concurrent programming, Anton Bachin [1]: https://github.com/ocsigen/lwt/issues/293 [2]: https://github.com/ocsigen/lwt/issues/41 [3]: https://github.com/ocsigen/lwt/issues/338 [4]: https://github.com/ocsigen/lwt/issues/328 [5]: https://github.com/fdopen/uwt [6]: http://libuv.org/ [7]: https://github.com/ocsigen/lwt/issues/270