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 3BEA75D4 for ; Tue, 3 Mar 2020 08:00:32 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.70,510,1574118000"; d="scan'208,217";a="438523118" Received: from sympa.inria.fr ([193.51.193.213]) by mail2-relais-roc.national.inria.fr with ESMTP; 03 Mar 2020 09:00:31 +0100 Received: by sympa.inria.fr (Postfix, from userid 20132) id 27BB87F438; Tue, 3 Mar 2020 09:00:31 +0100 (CET) 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 322017F3B1 for ; Tue, 3 Mar 2020 09:00:22 +0100 (CET) X-IronPort-AV: E=Sophos;i="5.70,510,1574118000"; d="scan'208,217";a="438523030" Received: from set.irisa.fr (HELO set) ([131.254.10.170]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/AES256-GCM-SHA384; 03 Mar 2020 09:00:21 +0100 From: Alan Schmitt To: "lwn" , "cwn" , caml-list@inria.fr, comp@lists.orbitalfox.eu Date: Tue, 03 Mar 2020 09:00:21 +0100 Message-ID: <87r1y96f6y.fsf@polytechnique.org> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="=-=-=" Subject: [Caml-list] Attn: Development Editor, Latest OCaml Weekly News Reply-To: Alan Schmitt X-Loop: caml-list@inria.fr X-Sequence: 18039 Errors-to: caml-list-owner@inria.fr Precedence: list Precedence: bulk Sender: caml-list-request@inria.fr X-no-archive: yes List-Id: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 SGVyZSBpcyB0aGUgbGF0ZXN0IE9DYW1sIFdlZWtseSBOZXdzLCBmb3IgdGhlIHdlZWsgb2YgRmVi cnVhcnkgMjUgdG8NCk1hcmNoIDAzLCAyMDIwLg0KDQpUYWJsZSBvZiBDb250ZW50cw0K4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSADQoNCk9DYW1sIDQu MTAgcmVsZWFzZWQNClN1bW1hcnkgb2YgdGhlIER1bmUgcmV0cmVhdCAyMDIwDQpNdWx0aWNvcmUg T0NhbWw6IEZlYiAyMDIwIHVwZGF0ZQ0KT3Bsb3QgMC41MA0Kc291cGF1bHQ6IGEgc3RhdGljIHdl YnNpdGUgZ2VuZXJhdG9yIGJhc2VkIG9uIEhUTUwgcmV3cml0aW5nDQpPbGQgQ1dODQoNCg0KT0Nh bWwgNC4xMCByZWxlYXNlZA0K4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ 4pWQ4pWQ4pWQ4pWQ4pWQ4pWQDQoNCiAgQXJjaGl2ZTogPGh0dHBzOi8vZGlzY3Vzcy5vY2FtbC5v cmcvdC9vY2FtbC00LTEwLXJlbGVhc2VkLzUxOTQvND4NCg0KDQpDb250bnVpbmcgdGhpcyB0aHJl YWQsIEFuaWwgTWFkaGF2YXBlZGR5IHNhaWQNCuKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgA0KDQogIElu ZGVlZCwgbWFueSB0aGFua3MgdG8gZXZlcnlvbmUgd2hvIGxlYXB0IGluIHRvIG1ha2UgNC4xMCBy ZWFkeSBpbg0KICBvcGFtIGluIHN1Y2ggcmVjb3JkIHRpbWUhICBKdXN0IGEgbm90ZSB0aGF0IHRo ZSBDSSBEb2NrZXIgaW1hZ2VzIGFyZQ0KICBub3cgYWxzbyByZWJ1aWx0IGZvciB4ODZfNjQsIGFy bTMyLzY0IGFuZCBwcGM2NGxlIHRvIHJlZmxlY3QgdGhlIDQuMTANCiAgcmVsZWFzZSwgc28gZmVl bCBmcmVlIHRvIHN0YXJ0IHVzaW5nDQogIHRoZW0uIDxodHRwczovL2h1Yi5kb2NrZXIuY29tL3Iv b2NhbWwvb3BhbTIvdGFncz4NCg0KDQpTdW1tYXJ5IG9mIHRoZSBEdW5lIHJldHJlYXQgMjAyMA0K 4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ 4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQDQoNCiAgQXJjaGl2ZToNCiAg PGh0dHBzOi8vZGlzY3Vzcy5vY2FtbC5vcmcvdC9zdW1tYXJ5LW9mLXRoZS1kdW5lLXJldHJlYXQt MjAyMC81MjI0LzE+DQoNCg0KSsOpcsOpbWllIERpbWlubyBhbm5vdW5jZWQNCuKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgA0KDQogIFdlIHJlY2VudGx5IG9yZ2FuaXNlZCB0aGUgc2Vjb25kIER1bmUgcmV0cmVhdC4g SWYgeW91J2QgbGlrZSB0byBzZWUNCiAgd2hhdCBpcyBoYXBwZW5pbmcgaW4gdGhlIER1bmUgd29y bGQgYXQgdGhlIG1vbWVudCwgcGxlYXNlIGZpbmQgYQ0KICBzdW1tYXJ5IG9mIHdoYXQgd2UgZGlz Y3Vzc2VkIGFuZCB3b3JrIG9uIGluIHRoaXMgYmxvZyBwb3N0IQ0KDQogIDxodHRwczovL2R1bmUu YnVpbGQvYmxvZy9kdW5lLXJldHJlYXQtMjAyMC8+DQoNCg0KTXVsdGljb3JlIE9DYW1sOiBGZWIg MjAyMCB1cGRhdGUNCuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkA0KDQog IEFyY2hpdmU6DQogIDxodHRwczovL2Rpc2N1c3Mub2NhbWwub3JnL3QvbXVsdGljb3JlLW9jYW1s LWZlYi0yMDIwLXVwZGF0ZS81MjI3LzE+DQoNCg0KQW5pbCBNYWRoYXZhcGVkZHkgYW5ub3VuY2Vk DQrilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIANCg0KICBXZWxjb21lIHRvIHRoZSBGZWJydWFyeSAy MDIwIG5ld3MgdXBkYXRlIGZyb20gdGhlIE11bHRpY29yZSBPQ2FtbA0KICB0ZWFtLCBzcHJlYWQg YWNyb3NzIHRoZSBVSywgSW5kaWEsIEZyYW5jZSBhbmQgU3dpdHplcmxhbmQhIFRoaXMNCiAgZm9s bG93cyBvbiBmcm9tIFtsYXN0IG1vbnRoJ3NdIHVwZGF0ZSwgYW5kIGhhcyBiZWVuIHB1dCB0b2dl dGhlciBieQ0KICBAc2hha3RoaW1hYW4gYW5kIEBrYXljZWVzcmsuDQoNCiAgVGhlIFtyZWxlYXNl IG9mIE9DYW1sIDQuMTAuMF0gaGFzIHN1Y2Nlc3NmdWxseSBwdXNoZWQgb3V0IHNvbWUNCiAgcHJl cmVxdWlzaXRlIGZlYXR1cmVzIGludG8gdGhlIHVwc3RyZWFtIGNvbXBpbGVyLiAgT3VyIHdvcmsg aW4NCiAgRmVicnVhcnkgaGFzIGZvY3Vzc2VkIG9uIGdldHRpbmcgdGhlIG11bHRpY29yZSBPQ2Ft bCBicmFuY2ggImZlYXR1cmUNCiAgY29tcGxldGUiIHdpdGggcmVzcGVjdCB0byB0aGUgY29tcGxl dGUgT0NhbWwgbGFuZ3VhZ2UsIGFuZCBkb2luZw0KICBleHRlbnNpdmUgYmVuY2htYXJraW5nIGFu ZCBzdHJlc3MgdGVzdGluZyB0byB0ZXN0IG91ciB0d28gbWlub3IgaGVhcA0KICBpbXBsZW1lbnRh dGlvbnMuDQoNCiAgVG8gdGhpcyBlbmQsIGEgbnVtYmVyIG9mIHNpZ25pZmljYW50IHBhdGNoZXMg aGF2ZSBiZWVuIG1lcmdlZCBpbnRvIHRoZQ0KICBbTXVsdGljb3JlIE9DYW1sIHRyZWVzXSB0aGF0 IGVzc2VudGlhbGx5IHByb3ZpZGUgY29tcGxldGUgY292ZXJhZ2Ugb2YNCiAgdGhlIGxhbmd1YWdl IGZlYXR1cmVzLiBXZSBlbmNvdXJhZ2UgeW91IHRvIHRlc3QgdGhlIHNhbWUgZm9yDQogIHJlZ3Jl c3Npb25zIGFuZCBwcm92aWRlIGFueSBpbXByb3ZlbWVudHMgb3IgcmVwb3J0IHNob3J0Y29taW5n cyB0bw0KICB1cy4gVGhlcmUgYXJlIG9uZ29pbmcgT0NhbWwgUFJzIGFuZCBpc3N1ZXMgdGhhdCBh cmUgYWxzbyB1bmRlciByZXZpZXcsDQogIGFuZCB3ZSBob3BlIHRvIGNvbXBsZXRlIHRob3NlIGZv ciB0aGUgNC4xMSByZWxlYXNlIGN5Y2xlLiBBIG5ldyBzZXQgb2YNCiAgcGFyYWxsZWwgYmVuY2ht YXJrcyBoYXZlIGJlZW4gYWRkZWQgdG8gb3VyIFtTYW5kbWFyayBiZW5jaG1hcmtpbmcNCiAgc3Vp dGVdIChsaXZlIGluc3RhbmNlIFtoZXJlXSksIGluY2x1ZGluZyBlbmhhbmNlbWVudHMgdG8gdGhl IGJ1aWxkDQogIHNldHVwLg0KDQoNCltsYXN0IG1vbnRoJ3NdDQo8aHR0cHM6Ly9kaXNjdXNzLm9j YW1sLm9yZy90L211bHRpY29yZS1vY2FtbC1qYW51YXJ5LTIwMjAtdXBkYXRlLzUwOTA+DQoNClty ZWxlYXNlIG9mIE9DYW1sIDQuMTAuMF0NCjxodHRwczovL2Rpc2N1c3Mub2NhbWwub3JnL3Qvb2Nh bWwtNC0xMC1yZWxlYXNlZC81MTk0Pg0KDQpbTXVsdGljb3JlIE9DYW1sIHRyZWVzXQ0KPGh0dHBz Oi8vZ2l0aHViLmNvbS9vY2FtbC1tdWx0aWNvcmUvb2NhbWwtbXVsdGljb3JlPg0KDQpbU2FuZG1h cmsgYmVuY2htYXJraW5nIHN1aXRlXSA8aHR0cHM6Ly9naXRodWIuY29tL29jYW1sLWJlbmNoL3Nh bmRtYXJrPg0KDQpbaGVyZV0gPGh0dHA6Ly9iZW5jaDIub2NhbWxsYWJzLmlvPg0KDQpNdWx0aWNv cmUgT0NhbWwNCuKVjOKVjOKVjOKVjOKVjOKVjOKVjOKVjOKVjOKVjOKVjOKVjOKVjOKVjOKVjA0K DQril4ogQ29tcGxldGVkDQoNCiAgVGhlIGZvbGxvd2luZyBQUnMgaGF2ZSBiZWVuIG1lcmdlZCBp bnRvIE11bHRpY29yZSBPQ2FtbDoNCg0KICDigKIgW29jYW1sLW11bHRpY29yZS9vY2FtbC1tdWx0 aWNvcmUjMjgxXSBJbnRyb2R1Y2UgYEZvcmNpbmdfdGFnJyB0byBmaXgNCiAgICBjb25jdXJyZW5j eSBidWcgd2l0aCBsYXp5IHZhbHVlcw0KDQogICAgQSBgRm9yY2luZ190YWcnIGlzIHVzZWQgdG8g aW1wbGVtZW50IGxhenkgdmFsdWVzIHRvIGhhbmRsZSBhDQogICAgY29uY3VycmVuY3kgYnVnLiBJ dCBiZWhhdmVzIGxpa2UgYSBsb2NrZWQgYml0LCBhbmQgYW55IGNvbmN1cnJlbnQNCiAgICBhY2Nl c3MgYnkgYSBtdXRhdG9yIHdpbGwgcmFpc2UgYW4gZXhjZXB0aW9uIG9uIHRoYXQgZG9tYWluLg0K DQogIOKAoiBbb2NhbWwtbXVsdGljb3JlL29jYW1sLW11bHRpY29yZSMyODJdIFNhZmVwb2ludHMN Cg0KICAgIEEgcHJlbGltaW5hcnkgdmVyc2lvbiBvZiBzYWZlIHBvaW50cyBoYXMgYmVlbiBtZXJn ZWQgaW50byB0aGUNCiAgICBNdWx0aWNvcmUgT0NhbWwgdHJlZXMuIFtvY2FtbC1tdWx0aWNvcmUv b2NhbWwtbXVsdGljb3JlIzE4N10gYWxzbw0KICAgIGNvbnRhaW5zIG1vcmUgZGlzY3Vzc2lvbiBh bmQgYmFja2dyb3VuZCBhYm91dCBob3cgY292ZXJhZ2UgY2FuIGJlDQogICAgaW1wcm92ZWQgaW4g ZnV0dXJlIFBScy4NCg0KICDigKIgW29jYW1sLW11bHRpY29yZS9vY2FtbC1tdWx0aWNvcmUjMjg1 XSBJbnRyb2R1Y2UgYW4gJ29wcG9ydHVuaXN0aWMnDQogICAgbWFqb3IgY29sbGVjdGlvbiBzbGlj ZQ0KDQogICAgQW4gIm9wcG9ydHVuaXN0aWMgd29yayBjcmVkaXQiIGlzIGltcGxlbWVudGVkIGlu IHRoaXMgUFIgd2hpY2ggZm9ybXMNCiAgICBhIGJhc2lzIGZvciBkb2luZyBtYXJrIGFuZCBzd2Vl cCB3b3JrIHdoaWxlIHdhaXRpbmcgdG8gc3luY2hyb25pc2UNCiAgICB3aXRoIG90aGVyIGRvbWFp bnMuDQoNCiAg4oCiIFtvY2FtbC1tdWx0aWNvcmUvb2NhbWwtbXVsdGljb3JlIzI4Nl0gRG8gZmZs dXNoIGFuZCB2YXJpYWJsZSBhcmdzIGluDQogICAgY2FtbF9nY19sb2cNCg0KICAgIFRoZSBjYW1s X2djX2xvZygpIGZ1bmN0aW9uIGhhcyBiZWVuIHVwZGF0ZWQgdG8gZW5zdXJlIHRoYXQgYGZmbHVz aCcNCiAgICBpcyBpbnZva2VkIG9ubHkgd2hlbiBHQyBsb2dnaW5nIGlzIGVuYWJsZWQuDQoNCiAg 4oCiIFtvY2FtbC1tdWx0aWNvcmUvb2NhbWwtbXVsdGljb3JlIzI4N10gSW5jcmVhc2UgRVZFTlRf QlVGX1NJWkUNCg0KICAgIER1cmluZyBkZWJ1Z2dpbmcgd2l0aCBldmVudCB0cmFjZSBkYXRhIGl0 IGlzIHVzZWZ1bCB0byByZWR1Y2UgdGhlDQogICAgYnVmZmVyIGZsdXNoIHRpbWVzLCBhbmQgaGVu Y2UgdGhlIGBFVkVOVF9CVUZfU0laRScgaGFzIG5vdyBiZWVuDQogICAgaW5jcmVhc2VkLg0KDQog IOKAoiBbb2NhbWwtbXVsdGljb3JlL29jYW1sLW11bHRpY29yZSMyODhdIFdyaXRlIGJhcnJpZXIg b3B0aW1pemF0aW9uDQoNCiAgICBUaGlzIFBSIGNsb3NlcyB0aGUgcmVncmVzc2lvbiBmb3IgdGhl IGBjaGFtZW5lb3NfcmVkdXhfbHd0Jw0KICAgIGJlbmNobWFya2luZyBpbiBTYW5kbWFyayBieSB1 c2luZyBgaW50bmF0JyB0byBhdm9pZCBzaWduIGV4dGVuc2lvbnMNCiAgICBhbmQgY2xlYW5zIHVw IGB3cml0ZV9iYXJyaWVyJyB0byBpbXByb3ZlIG92ZXJhbGwgcGVyZm9ybWFuY2UuDQoNCiAg4oCi IFtvY2FtbC1tdWx0aWNvcmUvb2NhbWwtbXVsdGljb3JlIzI5MF0gVW5pZnkgc3dlZXAgYnVkZ2V0 IHRvIGJlIGluDQogICAgd29yZCBzaXplDQoNCiAgICBUaGUgUFIgdXBkYXRlcyB0aGUgc3dlZXAg d29yayB1bml0cyB0byBhbGwgYmUgaW4gd29yZCBzaXplLiBUaGlzIGlzDQogICAgdG8gaGFuZGxl IHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZSBidWRnZXQgZm9yIHNldHVwLCBzd2VlcCBhbmQN CiAgICBmb3IgbGFyZ2UgYWxsb2NhdGlvbnMgaW4gYmxvY2tzLg0KDQoNCiAgW29jYW1sLW11bHRp Y29yZS9vY2FtbC1tdWx0aWNvcmUjMjgxXQ0KICA8aHR0cHM6Ly9naXRodWIuY29tL29jYW1sLW11 bHRpY29yZS9vY2FtbC1tdWx0aWNvcmUvcHVsbC8yODE+DQoNCiAgW29jYW1sLW11bHRpY29yZS9v Y2FtbC1tdWx0aWNvcmUjMjgyXQ0KICA8aHR0cHM6Ly9naXRodWIuY29tL29jYW1sLW11bHRpY29y ZS9vY2FtbC1tdWx0aWNvcmUvcHVsbC8yODI+DQoNCiAgW29jYW1sLW11bHRpY29yZS9vY2FtbC1t dWx0aWNvcmUjMTg3XQ0KICA8aHR0cHM6Ly9naXRodWIuY29tL29jYW1sLW11bHRpY29yZS9vY2Ft bC1tdWx0aWNvcmUvaXNzdWVzLzE4Nz4NCg0KICBbb2NhbWwtbXVsdGljb3JlL29jYW1sLW11bHRp Y29yZSMyODVdDQogIDxodHRwczovL2dpdGh1Yi5jb20vb2NhbWwtbXVsdGljb3JlL29jYW1sLW11 bHRpY29yZS9wdWxsLzI4NT4NCg0KICBbb2NhbWwtbXVsdGljb3JlL29jYW1sLW11bHRpY29yZSMy ODZdDQogIDxodHRwczovL2dpdGh1Yi5jb20vb2NhbWwtbXVsdGljb3JlL29jYW1sLW11bHRpY29y ZS9wdWxsLzI4Nj4NCg0KICBbb2NhbWwtbXVsdGljb3JlL29jYW1sLW11bHRpY29yZSMyODddDQog IDxodHRwczovL2dpdGh1Yi5jb20vb2NhbWwtbXVsdGljb3JlL29jYW1sLW11bHRpY29yZS9wdWxs LzI4Nz4NCg0KICBbb2NhbWwtbXVsdGljb3JlL29jYW1sLW11bHRpY29yZSMyODhdDQogIDxodHRw czovL2dpdGh1Yi5jb20vb2NhbWwtbXVsdGljb3JlL29jYW1sLW11bHRpY29yZS9wdWxsLzI4OD4N Cg0KICBbb2NhbWwtbXVsdGljb3JlL29jYW1sLW11bHRpY29yZSMyOTBdDQogIDxodHRwczovL2dp dGh1Yi5jb20vb2NhbWwtbXVsdGljb3JlL29jYW1sLW11bHRpY29yZS9wdWxsLzI5MD4NCg0KDQri l4ogT25nb2luZw0KDQogIOKAoiBBIGxvdCBvZiB3b3JrIGlzIG9uZ29pbmcgZm9yIHRoZSBpbXBs ZW1lbnRhdGlvbiBvZiBhIHN5bmNocm9uaXNlZA0KICAgIG1pbm9yIGdhcmJhZ2UgY29sbGVjdG9y IGZvciBNdWx0aWNvcmUgT0NhbWwsIGluY2x1ZGluZyBiZW5jaG1hcmtpbmcNCiAgICBmb3IgdGhl IHN0b3AtdGhlLXdvcmxkIChzdHcpIGJyYW5jaC4gIFdlIHdpbGwgcHVibGlzaCB0aGUgcmVzdWx0 cyBvZg0KICAgIHRoaXMgaW4gYSBmdXR1cmUgdXBkYXRlLCBhcyB3ZSBhcmUgYXNzZW1ibGluZyBh IGN1cnJlbnRseQ0KICAgIGNvbXByZWhlbnNpdmUgZXZhbHVhdGlvbiBvZiB0aGUgcnVudGltZSBh Z2FpbnN0IHRoZSBtYWluc3RyZWFtDQogICAgcnVudGltZS4NCg0KDQpCZW5jaG1hcmtpbmcNCuKV jOKVjOKVjOKVjOKVjOKVjOKVjOKVjOKVjOKVjOKVjOKVjA0KDQogIFtTYW5kbWFya10gbm93IGhh cyBzdXBwb3J0IHRvIHJ1biBwYXJhbGxlbCBiZW5jaG1hcmtzLiBXZSBjYW4gYWxzbyBub3cNCiAg YWJvdXQgR0MgbGF0ZW5jeSBtZWFzdXJlbWVudHMgZm9yIGJvdGggc3RvY2sgT0NhbWwgYW5kIE11 bHRpY29yZSBPQ2FtbA0KICBjb21waWxlci4NCg0KICDigKIgW29jYW1sLWJlbmNoL3NhbmRtYXJr IzczXSBNb3JlIHBhcmFsbGVsIGJlbmNobWFya3MNCg0KICAgIEEgbnVtYmVyIG9mIHBhcmFsbGVs IGJlbmNobWFya3Mgc3VjaCBhcyBOLWJvZHksIFF1aWNrIFNvcnQgYW5kDQogICAgbWF0cml4IG11 bHRpcGxpY2F0aW9uIGhhdmUgbm93IGJlZW4gYWRkZWQgdG8gU2FuZG1hcmshDQoNCiAg4oCiIFtv Y2FtbC1iZW5jaC9zYW5kbWFyayM3Nl0gUHJvbW90ZSBwYWNrYWdlcy4gVW5icmVhayBDSS4NCg0K ICAgIFRoZSBDb250aW51b3VzIEludGVncmF0aW9uIGJ1aWxkIGNhbiBub3cgZXhlY3V0ZSBhZnRl ciB1cGRhdGluZyBhbmQNCiAgICBwcm9tb3RpbmcgcGFja2FnZXMgaW4gU2FuZG1hcmsuDQoNCiAg 4oCiIFtvY2FtbC1iZW5jaC9zYW5kbWFyayM3OF0gQWRkIHN1cHBvcnQgZm9yIGNvbGxlY3Rpbmcg aW5mb3JtYXRpb24NCiAgICBhYm91dCBHQyBwYXVzZXRpbWVzIG9uIHRydW5rDQoNCiAgICBUaGUg UFIgbm93IGhlbHBzIHByb2Nlc3MgdGhlIHJ1bnRpbWUgbG9nIGFuZCBwcm9kdWNlcyBhIGAuYmVu Y2gnDQogICAgZmlsZSB0aGF0IGNhcHR1cmVzIHRoZSBHQyBwYXVzZSB0aW1lcy4gVGhpcyB3b3Jr cyBvbiBib3RoIHN0b2NrDQogICAgT0NhbWwgYW5kIGluIE11bHRpY29yZSBPQ2FtbC4NCg0KICDi gKIgW29jYW1sLWJlbmNoL3NhbmRtYXJrIzg2XSBSZWFkIGFuZCB3cml0ZSBJcm1pbiBiZW5jaG1h cmsNCg0KICAgIEEgdGVzdCBmb3IgbWVhc3VyaW5nIElybWluJ3MgbWVyZ2UgY2FwYWJpbGl0aWVz IHdpdGggR2l0IGFzIGl0cw0KICAgIGZpbGVzeXN0ZW0gaXMgYmVpbmcgdGVzdGVkIHdpdGggZGlm ZmVyZW50IHJlYWQgYW5kIHdyaXRlIHJhdGVzLg0KDQogIOKAoiBBIG51bWJlciBvZiBvdGhlciBw YXJhbGxlbCBiZW5jaG1hcmtzIGxpa2UgTWVyZ2Ugc29ydCwNCiAgICBGbG95ZC1XYXJzaGFsbCBt YXRyaXgsIHByaW1lIG51bWJlciBnZW5lcmF0aW9uLCBwYXJhbGxlbCBtYXAsIGZpbHRlcg0KICAg IGV0LiBhbC4gaGF2ZSBiZWVuIGFkZGVkIHRvIFNhbmRtYXJrLg0KDQoNCltTYW5kbWFya10gPGh0 dHA6Ly9iZW5jaDIub2NhbWxsYWJzLmlvLz4NCg0KW29jYW1sLWJlbmNoL3NhbmRtYXJrIzczXQ0K PGh0dHBzOi8vZ2l0aHViLmNvbS9vY2FtbC1iZW5jaC9zYW5kbWFyay9wdWxsLzczPg0KDQpbb2Nh bWwtYmVuY2gvc2FuZG1hcmsjNzZdDQo8aHR0cHM6Ly9naXRodWIuY29tL29jYW1sLWJlbmNoL3Nh bmRtYXJrL3B1bGwvNzY+DQoNCltvY2FtbC1iZW5jaC9zYW5kbWFyayM3OF0NCjxodHRwczovL2dp dGh1Yi5jb20vb2NhbWwtYmVuY2gvc2FuZG1hcmsvcHVsbC83OD4NCg0KW29jYW1sLWJlbmNoL3Nh bmRtYXJrIzg2XQ0KPGh0dHBzOi8vZ2l0aHViLmNvbS9vY2FtbC1iZW5jaC9zYW5kbWFyay9wdWxs Lzg2Pg0KDQoNCkRvY3VtZW50YXRpb24NCuKVjOKVjOKVjOKVjOKVjOKVjOKVjOKVjOKVjOKVjOKV jOKVjOKVjA0KDQogIOKAoiBFeGFtcGxlcyB1c2luZyBkb21haW5zbGliIGFuZCBtb2RpZnlpbmcg RG9tYWlucyBhcmUgY3VycmVudGx5IGJlaW5nDQogICAgd29ya2VkIHVwb24gZm9yIGEgY2hhcHRl ciBvbiBQYXJhbGxlbCBQcm9ncmFtbWluZyBmb3IgTXVsdGljb3JlDQogICAgT0NhbWwuIFdlIHdp bGwgcmVsZWFzZSBhbiBlYXJseSBkcmFmdCB0byB0aGUgY29tbXVuaXR5IGZvciB5b3VyDQogICAg ZmVlZGJhY2suDQoNCg0KT0NhbWwNCuKVjOKVjOKVjOKVjOKVjA0KDQogIE9uZSBQUiBvcGVuZWQg dG8gT0NhbWwgdGhpcyBtb250aCwgd2hpY2ggZml4ZXMgdXAgdGhlIG1hcnNoYWxsaW5nDQogIHNj aGVtZSB0byBiZSBtdWx0aWNvcmUgY29tcGF0aWJsZS4gVGhlIGNvbXBsZXRlIHNldCBvZiBbdXBz dHJlYW0NCiAgbXVsdGljb3JlIHByZXJlcXVpc2l0ZXNdIGFyZSBsYWJlbGxlZCBpbiB0aGUgY29t cGlsZXIgaXNzdWUgdHJhY2tlci4NCg0KICDigKIgW29jYW1sL29jYW1sIzkyOTNdIFVzZSBhZGRy bWFwIGhhc2ggdGFibGUgZm9yIG1hcnNoYWxpbmcNCg0KICAgIFRoZSBoYXNoIHRhYmxlIChhZGRy bWFwKSBpbXBsZW1lbnRhdGlvbiBmcm9tIE11bHRpY29yZSBPQ2FtbCBoYXMNCiAgICBiZWVuIHBv cnRlZCB0byB1cHN0cmVhbSBPQ2FtbCB0byBhdm9pZCB1c2luZyBHQyBtYXJrIGJpdHMgdG8NCiAg ICByZXByZXNlbnQgdmlzaXRlZG5lc3MuDQoNCg0KW3Vwc3RyZWFtIG11bHRpY29yZSBwcmVyZXF1 aXNpdGVzXQ0KPGh0dHBzOi8vZ2l0aHViLmNvbS9vY2FtbC9vY2FtbC9sYWJlbHMvbXVsdGljb3Jl LXByZXJlcXVpc2l0ZT4NCg0KW29jYW1sL29jYW1sIzkyOTNdIDxodHRwczovL2dpdGh1Yi5jb20v b2NhbWwvb2NhbWwvcHVsbC85MjkzPg0KDQoNCkFjcm9ueW1zDQrilYzilYzilYzilYzilYzilYzi lYzilYwNCg0KICDigKIgQ1RGOiBDb21tb24gVHJhY2UgRm9ybWF0DQogIOKAoiBDSTogQ29udGlu dW91cyBJbnRlZ3JhdGlvbg0KICDigKIgR0M6IEdhcmJhZ2UgQ29sbGVjdG9yDQogIOKAoiBQUjog UHVsbCBSZXF1ZXN0DQoNCiAgQXMgYWx3YXlzLCBtYW55IHRoYW5rcyB0byBvdXIgZmVsbG93IE9D YW1sIGRldmVsb3BlcnMgYW5kIHVzZXJzIHdobw0KICBoYXZlIHJldmlld2VkIG91ciBjb2RlLCBy ZXBvcnRlZCBidWdzIG9yIG90aGVyd2lzZSBhc3Npc3RlZCB0aGlzDQogIG1vbnRoLg0KDQoNCk9w bG90IDAuNTANCuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkA0KDQogIEFyY2hpdmU6IDxo dHRwczovL2Rpc2N1c3Mub2NhbWwub3JnL3QvYW5uLW9wbG90LTAtNTAvNTIzNS8xPg0KDQoNCnNh bmV0dGUgYW5ub3VuY2VkDQrilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIANCg0KICBJJ20gaGFwcHkgdG8gYW5ub3VjZSB0aGUgcmV2aXZhbCBvZiB0aGUg YG9wbG90JyBsaWJyYXJ5Lg0KDQogIElmIHlvdSBldmVyIHdhbnRlZCB0byBxdWlja2x5IGRyYXcg dGhlIGdyYXBoIG9mIGFuIGludHJpZ3VpbmcNCiAgbWF0aGVtYXRpY2FsIGZ1bmN0aW9uLCBhbmlt YXRlIGl0IGJ5IHZhcnlpbmcgYSBwYXJhbWV0ZXIsIG9yIGV4cGxvcmUgYQ0KICAzRCBzdXJmYWNl LCB3aXRob3V0IGxlYXZpbmcgeW91ciBmYXZvcml0ZSBwcm9ncmFtbWluZyBsYW5ndWFnZSwgdGhl bg0KICBgb3Bsb3QnIGlzIGZvciB5b3UuDQoNCiAgSWYgeW91J3JlIGZhbWlsaWFyIHdpdGggTGFU ZVggYW5kIHdhbnQgdG8gcHJvZHVjZSBuaWNlIG1hdGhlbWF0aWNhbA0KICBncmFwaGljcyBkZWNv cmF0ZWQgd2l0aCBMYVRlWCBmb3JtdWxhcywgdGhhdCB5b3UgY2FuIHZpZXcgb25zY3JlZW4sDQog IGV4cG9ydCB0byBpbWFnZXMgb3IgdmVjdG9yIGdyYXBoaWNzIChwZGYsIGVwcykgdGhlbiBgb3Bs b3QnIGlzIGV2ZW4NCiAgbW9yZSBmb3IgeW91IQ0KDQogIOKAoiBJbnN0YWxsYXRpb246IGBvcGFt IGluc3RhbGwgb3Bsb3QnDQogIOKAoiBkb2N1bWVudGF0aW9uOg0KICAgIDxodHRwczovL3NhbmV0 dGUuZ2l0aHViLmlvL29wbG90L29wbG90L09wbG90L2luZGV4Lmh0bWw+DQogIOKAoiBzb3VyY2Ug Y29kZSwgaXNzdWVzLCBldGM6IDxodHRwczovL2dpdGh1Yi5jb20vc2FuZXR0ZS9vcGxvdD4NCg0K ICBEcmF3aW5nIGlzIGhhcmR3YXJlIGFjY2VsZXJhdGVkIChvcGVuZ2wpIHRoYW5rcyB0byB0aGUg dmVuZXJhYmxlDQogIGBvY2FtbHNkbCcgYW5kIGBsYWJsZ2wnIGxpYnJhcmllcy4gSSdtIGdsYWQg dGhleSBzdGlsbCB3b3JrIHBlcmZlY3RseS4NCg0KICBIYXBweSBwbG90dGluZy4NCg0KDQpzb3Vw YXVsdDogYSBzdGF0aWMgd2Vic2l0ZSBnZW5lcmF0b3IgYmFzZWQgb24gSFRNTCByZXdyaXRpbmcN CuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV kOKVkOKVkOKVkA0KDQogIEFyY2hpdmU6DQogIDxodHRwczovL2Rpc2N1c3Mub2NhbWwub3JnL3Qv YW5uLXNvdXBhdWx0LWEtc3RhdGljLXdlYnNpdGUtZ2VuZXJhdG9yLWJhc2VkLW9uLWh0bWwtcmV3 cml0aW5nLzQxMjYvMTI+DQoNCg0KRGFuaWlsIEJhdHVyaW4gYW5ub3VuY2VkDQrilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIANCg0KICBbMS45LjBdIHJlbGVhc2UgaXMgbm93IGF2YWlsYWJsZS4NCg0KICDigKIgYC0t aW5kZXgtb25seScgb3B0aW9uIHRoYXQgbWFrZXMgc291cGF1bHQgZHVtcCB0aGUgc2l0ZSBtZXRh ZGF0YSB0bw0KICAgIEpTT04gYW5kIHN0b3AgYXQgdGhhdA0KICDigKIgTWV0YWRhdGEgZXh0cmFj dGlvbiBhbmQgaW5kZXggZ2VuZXJhdGlvbiBjYW4gbm93IGJlIGxpbWl0ZWQgdG8NCiAgICBzcGVj aWZpYyBwYWdlcy9zZWN0aW9uL3BhdGggcmVnZXhlcywganVzdCBsaWtlIHdpZGdldHMNCiAg4oCi IFRoZSBgcHJlcHJvY2Vzc19lbGVtZW50JyB3aWRnZXQgbm93IHN1cHBvcnRzIGEgbGlzdCBvZiBz ZWxlY3RvcnMsDQogICAgZS5nLiBgc2VsZWN0b3IgPSBbImNvZGUiLCAicHJlIGNvZGUiXScuDQog IOKAoiBQbHVnaW4gQVBJIG5vdyBoYXMgZnVuY3Rpb25zIGZvciBydW5uaW5nIGV4dGVybmFsIHBy b2dyYW1zLCBhbmQgc29tZQ0KICAgIG1vcmUgZWxlbWVudCB0cmVlIGFjY2VzcyBmdW5jdGlvbnMu DQogIOKAoiBDU1Mgc2VsZWN0b3IgcGFyc2UgZXJyb3JzIGFyZSBub3cgaGFuZGxlZCBncmFjZWZ1 bGx5IChbbGFtYmRhc291cA0KICAgIFBSIzMxXSkuDQogIOKAoiBUaGUgYHRpdGxlJyB3aWRnZXQg bm93IGNvcnJlY3RseSByZW1vdmVzIEhUTUwgdGFncyBmcm9tIHRoZSBzdXBwb3NlZA0KICAgIHRp dGxlIHN0cmluZyBhbmQgZG9lc24ndCBhZGQgZXh0cmEgd2hpdGVzcGFjZSAoZml4ZXMgYnkgW1Ro b21hcw0KICAgIExldGFuXSkuDQoNCg0KWzEuOS4wXSA8aHR0cHM6Ly9zb3VwYXVsdC5uZW9jaXRp ZXMub3JnL2Jsb2cvc291cGF1bHQtMS45LjAtcmVsZWFzZS8+DQoNCltsYW1iZGFzb3VwIFBSIzMx XSA8aHR0cHM6Ly9naXRodWIuY29tL2FhbnRyb24vbGFtYmRhc291cC9wdWxsLzMxPg0KDQpbVGhv bWFzIExldGFuXSA8aHR0cHM6Ly9zb2FwLmNvZmZlZS9+bHRobXMvPg0KDQoNCk9sZCBDV04NCuKV kOKVkOKVkOKVkOKVkOKVkOKVkA0KDQogIElmIHlvdSBoYXBwZW4gdG8gbWlzcyBhIENXTiwgeW91 IGNhbiBbc2VuZCBtZSBhIG1lc3NhZ2VdIGFuZCBJJ2xsIG1haWwNCiAgaXQgdG8geW91LCBvciBn byB0YWtlIGEgbG9vayBhdCBbdGhlIGFyY2hpdmVdIG9yIHRoZSBbUlNTIGZlZWQgb2YgdGhlDQog IGFyY2hpdmVzXS4NCg0KICBJZiB5b3UgYWxzbyB3aXNoIHRvIHJlY2VpdmUgaXQgZXZlcnkgd2Vl ayBieSBtYWlsLCB5b3UgbWF5IHN1YnNjcmliZQ0KICBbb25saW5lXS4NCg0KICBbQWxhbiBTY2ht aXR0XQ0KDQoNCltzZW5kIG1lIGEgbWVzc2FnZV0gPG1haWx0bzphbGFuLnNjaG1pdHRAcG9seXRl Y2huaXF1ZS5vcmc+DQoNClt0aGUgYXJjaGl2ZV0gPGh0dHA6Ly9hbGFuLnBldGl0ZXBvbW1lLm5l dC9jd24vPg0KDQpbUlNTIGZlZWQgb2YgdGhlIGFyY2hpdmVzXSA8aHR0cDovL2FsYW4ucGV0aXRl cG9tbWUubmV0L2N3bi9jd24ucnNzPg0KDQpbb25saW5lXSA8aHR0cDovL2xpc3RzLmlkeWxsLm9y Zy9saXN0aW5mby9jYW1sLW5ld3Mtd2Vla2x5Lz4NCg0KW0FsYW4gU2NobWl0dF0gPGh0dHA6Ly9h bGFuLnBldGl0ZXBvbW1lLm5ldC8+DQoNCg== --=-=-= Content-Type: text/html; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable OCaml Weekly News

OCaml Weekly News

Previous Week Up Next Week

Hello

Here is the latest OCaml Weekly News, for the week of February 25 to March = 03, 2020.

OCaml 4.10 released

Contnuing this thread, Anil Madhavapeddy said

Indeed, many thanks to everyone who leapt in to make 4.10 ready in opam in = such record time! Just a note that the CI Docker images are now also rebui= lt for x86_64, arm32/64 and ppc64le to reflect the 4.10 release, so feel free to s= tart using them. http= s://hub.docker.com/r/ocaml/opam2/tags

Summary of the Dune retreat 2020

J=C3=A9r=C3=A9mie Dimino announced

We recently organised the second Dune retreat. If you'd like to see what is= happening in the Dune world at the moment, please find a summary of what we discussed and work on in this blog post!

https://dune.build/b= log/dune-retreat-2020/

Multicore OCaml: Feb 2020 update

Anil Madhavapeddy announced

Welcome to the February 2020 news update from the Multicore OCaml team, spr= ead across the UK, India, France and Switzerland! This follows on from last month's update, and has been put together by @shakthimaan and @kayceesr= k.

The releas= e of OCaml 4.10.0 has successfully pushed out some prerequisite feature= s into the upstream compiler. Our work in February has focussed on getting the multicore OCaml= branch "feature complete" with respect to the complete OCaml language, and= doing extensive benchmarking and stress testing to test our two minor heap implem= entations.

To this end, a number of significant patches have been merged into the Multicore OCaml = trees that essentially provide complete coverage of the language features. We encourag= e you to test the same for regressions and provide any improvements or repo= rt shortcomings to us. There are ongoing OCaml PRs and issues that are also un= der review, and we hope to complete those for the 4.11 release cycle. A new= set of parallel benchmarks have been added to our Sandmark benchmarking suite (live instance here), including enhancements to= the build setup.

Multicore OCaml

  • Completed

    The following PRs have been merged into Multicore OCaml:

    • oca= ml-multicore/ocaml-multicore#281 Introduce Forcing_tag to fix concurrency bug with lazy values

      A Forcing_tag is used to implement lazy values to handle a con= currency bug. It behaves like a locked bit, and any concurrent access by a = mutator will raise an exception on that domain.

    • oca= ml-multicore/ocaml-multicore#282 Safepoints

      A preliminary version of safe points has been merged into the Multicore OCa= ml trees. ocaml-multicore/ocaml-multicore#187 also contains more discuss= ion and background about how coverage can be improved in future PRs.

    • oca= ml-multicore/ocaml-multicore#285 Introduce an 'opportunistic' major collection slice

      An "opportunistic work credit" is implemented in this PR which forms a basi= s for doing mark and sweep work while waiting to synchronise with other dom= ains.

    • oca= ml-multicore/ocaml-multicore#286 Do fflush and variable args in caml_gc_log

      The caml_gc_log() function has been updated to ensure that fflush is invoked only when GC logging is enabled.

    • oca= ml-multicore/ocaml-multicore#287 Increase EVENT_BUF_SIZE

      During debugging with event trace data it is useful to reduce the buffer fl= ush times, and hence the EVENT_BUF_SIZE has now been increased.

    • oca= ml-multicore/ocaml-multicore#288 Write barrier optimization

      This PR closes the regression for the chameneos_redux_lwt benc= hmarking in Sandmark by using intnat to avoid sign extensions = and cleans up write_barrier to improve overall performance.

    • oca= ml-multicore/ocaml-multicore#290 Unify sweep budget to be in word size

      The PR updates the sweep work units to all be in word size. This is to hand= le the differences between the budget for setup, sweep and for large alloca= tions in blocks.

  • Ongoing
    • A lot of work is ongoing for the implementation of a synchronised minor= garbage collector for Multicore OCaml, including benchmarking for the stop= -the-world (stw) branch. We will publish the results of this in a future u= pdate, as we are assembling a currently comprehensive evaluation of the run= time against the mainstream runtime.

Benchmarking

Sandmark now has support to run= parallel benchmarks. We can also now about GC latency measurements for bot= h stock OCaml and Multicore OCaml compiler.

  • ocaml-bench/san= dmark#73 More parallel benchmarks

    A number of parallel benchmarks such as N-body, Quick Sort and matrix multi= plication have now been added to Sandmark!

  • ocaml-bench/san= dmark#76 Promote packages. Unbreak CI.

    The Continuous Integration build can now execute after updating and promoti= ng packages in Sandmark.

  • ocaml-bench/san= dmark#78 Add support for collecting information about GC pausetimes on trunk

    The PR now helps process the runtime log and produces a .bench= file that captures the GC pause times. This works on both stock OCaml and = in Multicore OCaml.

  • ocaml-bench/san= dmark#86 Read and write Irmin benchmark

    A test for measuring Irmin's merge capabilities with Git as its filesystem = is being tested with different read and write rates.

  • A number of other parallel benchmarks like Merge sort, Floyd-Warshall m= atrix, prime number generation, parallel map, filter et. al. have been adde= d to Sandmark.

Documentation

  • Examples using domainslib and modifying Domains are currently being wor= ked upon for a chapter on Parallel Programming for Multicore OCaml. We will= release an early draft to the community for your feedback.

OCaml

One PR opened to OCaml this month, which fixes up the marshalling scheme to= be multicore compatible. The complete set of upstream multicore prerequisites are labelled in the compiler issue tracker.

  • ocaml/ocaml#9293 U= se addrmap hash table for marshaling

    The hash table (addrmap) implementation from Multicore OCaml has been porte= d to upstream OCaml to avoid using GC mark bits to represent visitedness.

Acronyms

  • CTF: Common Trace Format
  • CI: Continuous Integration
  • GC: Garbage Collector
  • PR: Pull Request

As always, many thanks to our fellow OCaml developers and users who have re= viewed our code, reported bugs or otherwise assisted this month.

Oplot 0.50

sanette announced

I'm happy to annouce the revival of the oplot library.

If you ever wanted to quickly draw the graph of an intriguing mathematical = function, animate it by varying a parameter, or explore a 3D surface, witho= ut leaving your favorite programming language, then oplot is for = you.

If you're familiar with LaTeX and want to produce nice mathematical graphic= s decorated with LaTeX formulas, that you can view onscreen, export to imag= es or vector graphics (pdf, eps) then oplot is even more for you!

Drawing is hardware accelerated (opengl) thanks to the venerable ocam= lsdl and lablgl libraries. I'm glad they still work per= fectly.

Happy plotting.

soupault: a static website generator based on HTML rewriting

Daniil Baturin announced

1.9= .0 release is now available.

  • --index-only option that makes soupault dump the site meta= data to JSON and stop at that
  • Metadata extraction and index generation can now be limited to specific= pages/section/path regexes, just like widgets
  • The preprocess_element widget now supports a list of selec= tors, e.g. selector =3D ["code", "pre code"].
  • Plugin API now has functions for running external programs, and some mo= re element tree access functions.
  • CSS selector parse errors are now handled gracefully (lambdasoup PR#31).
  • The title widget now correctly removes HTML tags from the = supposed title string and doesn't add extra whitespace (fixes by Thomas Letan).

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 RSS feed of the archives<= /a>.

If you also wish to receive it every week by mail, you may subscribe online.

--=-=-=--