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 05F6D5D5 for ; Tue, 31 Dec 2019 09:18:52 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.69,378,1571695200"; d="scan'208,217";a="429510586" Received: from sympa.inria.fr ([193.51.193.213]) by mail2-relais-roc.national.inria.fr with ESMTP; 31 Dec 2019 10:18:50 +0100 Received: by sympa.inria.fr (Postfix, from userid 20132) id 61D007F3B1; Tue, 31 Dec 2019 10:18:50 +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 3F7AF7ED20 for ; Tue, 31 Dec 2019 10:18:39 +0100 (CET) X-IronPort-AV: E=Sophos;i="5.69,378,1571695200"; d="scan'208,217";a="429510496" Received: from cbg35-2-78-242-14-140.fbx.proxad.net (HELO set) ([78.242.14.140]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/AES256-GCM-SHA384; 31 Dec 2019 10:18:38 +0100 From: Alan Schmitt To: "lwn" , "cwn" , caml-list@inria.fr Date: Tue, 31 Dec 2019 10:18:38 +0100 Message-ID: <87y2usx381.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: 17924 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 SGVsbG8NCg0KSGVyZSBpcyB0aGUgbGF0ZXN0IE9DYW1sIFdlZWtseSBOZXdzLCBmb3IgdGhlIHdl ZWsgb2YgRGVjZW1iZXIgMTcgdG8gMzEsDQoyMDE5Lg0KDQpTb3JyeSBmb3IgdGhlIGhpYXR1cyBs YXN0IHdlZWssIEkgd2FzIGF3YXkgd2l0aCBubyBpbnRlcm5ldA0KYWNjZXNzLiBIYXBweSBuZXcg eWVhciENCg0KVGFibGUgb2YgQ29udGVudHMNCuKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgA0KDQpJbnRlcm5zaGlwcyBhdCBCZSBTcG9ydCAoT0NhbWws IE9jc2lnZW4pDQpvY2FtbC1sc3AgcHJldmlldw0KUmVwcm9kdWNpYmxlIGJ1aWxkcyB3aXRoIE9D YW1sIC8gb3BhbSBhbmQgTWlyYWdlT1MNCnRoZSBPQ2FtbCBTb2Z0d2FyZSBGb3VuZGF0aW9uDQpz b3VwYXVsdDogYSBzdGF0aWMgd2Vic2l0ZSBnZW5lcmF0b3IgYmFzZWQgb24gSFRNTCByZXdyaXRp bmcNClJlbGVhc2Ugb2Ygb3dsLXN5bWJvbGljIDAuMS4wDQpPbGQgQ1dODQoNCg0KSW50ZXJuc2hp cHMgYXQgQmUgU3BvcnQgKE9DYW1sLCBPY3NpZ2VuKQ0K4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ 4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ 4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQDQoNCiAgQXJjaGl2ZToNCiAg PGh0dHBzOi8vc3ltcGEuaW5yaWEuZnIvc3ltcGEvYXJjL2NhbWwtbGlzdC8yMDE5LTEyL21zZzAw MDIzLmh0bWw+DQoNCg0KQmUgU3BvcnQgYW5ub3VuY2VkDQrilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIANCg0KICBCZSBTcG9ydCBjdXJyZW50bHkg aGFzIHNldmVyYWwgb3BlbiBpbnRlcm5zaGlwIHBvc2l0aW9ucyBmb3IgT0NhbWwNCiAgZGV2ZWxv cGVycy4NCg0KICBLZXl3b3JkczogT0NhbWwsIE9jc2lnZW4sIE1vYmlsZSBhcHAgZGV2ZWxvcG1l bnQsIFdlYiwgRGF0YWJhc2UsDQogIFNwb3J0LCBTb2NpYWwgbmV0d29ya3MNCg0KICBCZSBTcG9y dCBkZXZlbG9wcyB0aGUgZmlyc3QgZ2xvYmFsIHBsYXRmb3JtIGRlZGljYXRlZCB0byBzcG9ydCwg aW4NCiAgY29sbGFib3JhdGlvbiB3aXRoIHByb21pbmVudCBhY3RvcnMgb2Ygc3BvcnQgaW4gRnJh bmNlIGFuZCBpbiB0aGUNCiAgd29ybGQuICBBbGwgb3VyIGRldmVsb3BtZW50IGlzIGRvbmUgaW4g T0NhbWwuIE91ciBXZWIgYW5kIG1vYmlsZSBhcHBzDQogIChpT1MsIEFuZHJvaWQpIGFyZSBkZXZl bG9wZWQgYXMgYSBtdWx0aS10aWVyIGFwcCB1c2luZyB0aGUgT2NzaWdlbg0KICBmcmFtZXdvcmsu ICBPdXIgcHJlbWlzZXMgYXJlIGxvY2F0ZWQgaW4gdGhlIGNlbnRlciBvZiBQYXJpcy4NCg0KICBQ bGVhc2UgY29udGFjdCBtZSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4NCg0KDQpvY2FtbC1sc3AgcHJl dmlldw0K4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ DQoNCiAgQXJjaGl2ZTogPGh0dHBzOi8vZGlzY3Vzcy5vY2FtbC5vcmcvdC9hbm4tb2NhbWwtbHNw LXByZXZpZXcvNDg3Ni8xPg0KDQoNClJ1ZGkgR3JpbmJlcmcgYW5ub3VuY2VkDQrilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIANCg0KICBJJ20gZXhjaXRlZCB0byBhbm5vdW5jZSBbb2NhbWwtbHNwXS4gVGhpcyBwcm9qZWN0 IGNvbnRhaW5zIGFuDQogIGltcGxlbWVudGF0aW9uIG9mIGFuIExTUCBzZXJ2ZXIgZm9yIHRoZSBP Q2FtbCBsYW5ndWFnZS4gVGhlIGN1cnJlbnQNCiAgaW1wbGVtZW50YXRpb24gcGlnZ3kgYmFja3Mg b24gdGhlIHdpZGVseSBzdWNjZXNzZnVsIFttZXJsaW5dIHRvb2wgdG8NCiAgcHJvdmlkZSBjb21w bGV0aW9uICYgdHlwZSBpbmZlcmVuY2UuIEluIHRoZSBmdXR1cmUsIHdlJ2QgbGlrZSB0byB1c2UN CiAgYWxsIG90aGVyIGVzc2VudGlhbCB0b29scyBzdWNoIGFzIG9jYW1sZm9ybWF0LCBvZG9jLCBk dW5lIHRvIHByb3ZpZGUNCiAgbW9yZSBmdW5jdGlvbmFsaXR5IGluIHlvdXIgZWRpdG9ycy4NCg0K ICBGb3Igbm93LCB0aGUgcHJvamVjdCBpc24ndCB5ZXQgYXZhaWxhYmxlIG9uIG9wYW0gYXMgd2Un cmUgc3RpbGwNCiAgcG9saXNoaW5nIHNvbWUgcm91Z2ggZWRnZXMgaW4gdGhlIHJlbGVhc2UgcHJv Y2Vzcy4gTmV2ZXJ0aGVsZXNzLCBJDQogIGludml0ZSBhbGwgYnJhdmUgc291bHMgd2hvIGFyZSBy ZWFkeSB0byBleHBlcmltZW50IHRvIGdpdmUgdGhpcyBsc3ANCiAgc2VydmVyIGEgdHJ5LiBZb3Vy IGZlZWRiYWNrICYgY29udHJpYnV0aW9ucyBhcmUgbW9zdCB3ZWxjb21lDQogIDpzbGlnaHRfc21p bGU6DQoNCg0KW29jYW1sLWxzcF0gPGh0dHBzOi8vZ2l0aHViLmNvbS9vY2FtbC9vY2FtbC1sc3A+ DQoNClttZXJsaW5dIDxodHRwczovL2dpdGh1Yi5jb20vb2NhbWwvbWVybGluPg0KDQoNClVuaXhK dW5raWUgYXNrZWQgYW5kIEFudG9uIEtvY2hrb3YgcmVwbGllZA0K4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSADQoNCiAg ICAgICAgVGhpcyBwcm9qZWN0IGxvb2tzIG5pY2UuDQoNCiAgICAgICAgSWYgSSBhbSBhbiBFbWFj cyBvciBWaSB1c2VyLCBjYW4gSSB0YWtlIGFkdmFudGFnZSBvZiBhbg0KICAgICAgICBMU1Agc2Vy dmVyPw0KDQogICAgICAgIE9yLCBpcyB0aGlzIG9ubHkgZm9yIHNvbWUgbmV3IGVkaXRvcnMgbGlr ZSBBdG9tIG9yIFZTY29kZT8NCg0KICBAVW5peEp1bmtpZSBvZiBjb3Vyc2UhIFRoYXQncyB0aGUg d2hvbGUgcG9pbnQgb2YgdGhpcyB0b29saW5nLg0KDQogIEZvciBWaW0geW91IGNhbiBjaG9vc2Ug YmV0d2VlbjoNCiAg4oCiIFtDb2MubnZpbV0gLSBtb3N0IHBvd2VyZnVsIG9mIGFsbCwgYnV0IHdy aXR0ZW4gaW4gVHlwZVNjcmlwdCBhbmQNCiAgICBoZWF2aWVzdCBvZiBhbGwNCiAg4oCiIFtBbGVd IC0gcHVyZSBWaW1MDQogIOKAoiBbdmltLWxzcF0gLSBwdXJlIFZpbUwNCiAg4oCiIFtMYW5ndWFn ZUNsaWVudC1uZW92aW1dIC0gd3JpdHRlbiBpbiBSdXN0DQogIOKAoiBTb21lIG90aGVyIGltcGxl bWVudGF0aW9ucw0KDQogIEkgYW0gbm90IGFuIEVtYWNzIGV4cGVydCwgYnV0IHRoZXJlIGlzIGFt YXppbmcgTFNQIGludGVncmF0aW9uIHRvbzoNCiAg4oCiIFtsc3AtbW9kZV0NCg0KICA8aHR0cHM6 Ly9hd3MxLmRpc2NvdXJzZS1jZG4uY29tL3N0YW5kYXJkMTEvdXBsb2Fkcy9vY2FtbC9vcmlnaW5h bC8yWC9iL2I4YWNkNzQ1NTI3ZTgwMWZlZjFlYjNkNGU4NzIyZDQ5YzVjMmVkMWEucG5nPg0KDQoN CltDb2MubnZpbV0gPGh0dHBzOi8vZ2l0aHViLmNvbS9uZW9jbGlkZS9jb2MubnZpbT4NCg0KW0Fs ZV0gPGh0dHBzOi8vZ2l0aHViLmNvbS9kZW5zZS1hbmFseXNpcy9hbGU+DQoNClt2aW0tbHNwXSA8 aHR0cHM6Ly9naXRodWIuY29tL3ByYWJpcnNocmVzdGhhL3ZpbS1sc3A+DQoNCltMYW5ndWFnZUNs aWVudC1uZW92aW1dDQo8aHR0cHM6Ly9naXRodWIuY29tL2F1dG96aW11L0xhbmd1YWdlQ2xpZW50 LW5lb3ZpbT4NCg0KW2xzcC1tb2RlXSA8aHR0cHM6Ly9naXRodWIuY29tL2VtYWNzLWxzcC9sc3At bW9kZT4NCg0KDQpQYXUgUnVpeiBTYWZvbnQgc2FpZA0K4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSADQoNCiAgTmVvdmltIDAuNS4wIChu b3cgcHJlLXJlbGVhc2VkKSBoYXMgbmF0aXZlIExTUCBzdXBwb3J0IGFzIHdlbGw6DQogIDxodHRw czovL2dpdGh1Yi5jb20vbmVvdmltL25lb3ZpbS9wdWxsLzExMzM2Pg0KDQogIE5vdCBzdXJlIGhv dyB3ZWxsIGludGVncmF0ZWQgaXMgaXQgZ29pbmcgdG8gYmUgd2l0aCB2YXJpb3VzIHBsdWdpbnMN CiAgKFtleGFtcGxlXSkNCg0KDQpbZXhhbXBsZV0gPGh0dHBzOi8vZ2l0aHViLmNvbS9TaG91Z28v ZGVvcGxldGUtbHNwPg0KDQoNCkFudG9uIEtvY2hrb3YgYWRkZWQNCuKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgA0KDQogIE5lb1ZpbSAwLjUu MCB3aWxsIGFsc28gaW5jbHVkZSB0aGUgW3RyZWUtc2l0dGVyXSBwYXJzZXIgZm9yIHN5bnRheA0K ICBoaWdobGlnaHRpbmcsIHdoaWNoIHdpbGwgYWxsb3cgd2F5IGJldHRlciBjb2xvcmluZy4gQW5k IHRyZWUtc2l0dGVyDQogIGFscmVhZHkgaGFzIFtPQ2FtbCBncmFtbWFyXSwgc28gaW1wbGVtZW50 aW5nIHNlbWFudGljcy1hd2FyZSBzeW50YXgNCiAgaGlnaGxpZ2h0ZXIgd2lsbCBiZSBlYXNpZXIu IEJ1dCBJIGV4cGVjdCB0aGUgc3VwcG9ydCBtb3JlIG9yIGxlc3MNCiAgcmVhZHkgZm9yIGV4dGVy bmFsIGNvbnRyaWJ1dGlvbnMgb25seSBpbiAwLjYuMCwgc2FkbHkuIEludGVncmF0aW5nIHRoZQ0K ICB0b29sIHdpdGggc29tZXRoaW5nIGxpa2UgW0dpdEh1YiBTZW1hbnRpY10gKCpIYXNrZWxsIGFs ZXJ0Kikgd2lsbA0KICBncmVhdGx5IGltcHJvdmUgT0NhbWwgZXhwZXJpZW5jZSBvbiBHaXRIdWIg dG9vLCBzZWUgdGhlIFtjb3JyZXNwb25kaW5nDQogIGlzc3VlXS4NCg0KDQpbdHJlZS1zaXR0ZXJd IDxodHRwczovL3RyZWUtc2l0dGVyLmdpdGh1Yi5pby90cmVlLXNpdHRlci8+DQoNCltPQ2FtbCBn cmFtbWFyXSA8aHR0cHM6Ly9naXRodWIuY29tL3RyZWUtc2l0dGVyL3RyZWUtc2l0dGVyLW9jYW1s Pg0KDQpbR2l0SHViIFNlbWFudGljXSA8aHR0cHM6Ly9naXRodWIuY29tL2dpdGh1Yi9zZW1hbnRp Yz4NCg0KW2NvcnJlc3BvbmRpbmcgaXNzdWVdIDxodHRwczovL2dpdGh1Yi5jb20vZ2l0aHViL3Nl bWFudGljL2lzc3Vlcy8xMzg+DQoNCg0KUGlldGVyIEdvZXRzY2hhbGNreCBzYWlkDQrilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIANCg0KICBUaGUgbmV4dCBzdGVwIGZvciBTZW1hbnRpYyBzdXBwb3J0IGlzIGRvY3Vt ZW50ZWQgW2hlcmVdLCBidXQgSSdtDQogIHdvcmtpbmcgb24gc29tZSBbaW1wcm92ZW1lbnRzXSBv ZiB0aGUgdHJlZS1zaXR0ZXIgcGFyc2VyIGZpcnN0Lg0KDQoNCltoZXJlXQ0KPGh0dHBzOi8vZ2l0 aHViLmNvbS90cmVlLXNpdHRlci9oYXNrZWxsLXRyZWUtc2l0dGVyL2Jsb2IvbWFzdGVyL2RvY3Mv Y29kZWdlbi5tZD4NCg0KW2ltcHJvdmVtZW50c10NCjxodHRwczovL2dpdGh1Yi5jb20vdHJlZS1z aXR0ZXIvdHJlZS1zaXR0ZXItb2NhbWwvcHVsbC8zNj4NCg0KDQpDYXJsb3MgRCdBZ29zdGlubyBz YWlkDQrilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIANCg0KICBGb3IgRW1hY3MgdGhlcmUgaXMgYWxzbyBgZWdsb3QnOiA8aHR0 cHM6Ly9naXRodWIuY29tL2pvYW90YXZvcmEvZWdsb3Q+DQogIOKAkyBBcyB0aGUgUkVBRE1FIHNh eXMsIGl0J3MgcXVpdGUgbWluaW1hbGlzdCBjb21wYXJlZCB0byBgbHNwLW1vZGUnLg0KDQoNClJl cHJvZHVjaWJsZSBidWlsZHMgd2l0aCBPQ2FtbCAvIG9wYW0gYW5kIE1pcmFnZU9TDQrilZDilZDi lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi lZDilZDilZDilZDilZDilZDilZDilZDilZDilZANCg0KICBBcmNoaXZlOg0KICA8aHR0cHM6Ly9k aXNjdXNzLm9jYW1sLm9yZy90L3JlcHJvZHVjaWJsZS1idWlsZHMtd2l0aC1vY2FtbC1vcGFtLWFu ZC1taXJhZ2Vvcy80ODc3LzE+DQoNCg0KSGFubmVzIE1laG5lcnQgYW5ub3VuY2VkDQrilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIANCg0KICBJIHdyb3RlIHVwIHJlY2VudCBkZXZlbG9wbWVudHMgYWJvdXQgcmVwcm9k dWNpYmxlIGJ1aWxkcyB3aXRoIG9wYW0g4oCTDQogIGluY2x1ZGluZyBzb21lIHRvb2xpbmcgPGh0 dHBzOi8vaGFubmVzLm5xc2IuaW8vUG9zdHMvUmVwcm9kdWNpYmxlT1BBTT4NCg0KICBUaGFua3Mg dG8gZXZlcnlvbmUgaW52b2x2ZWQgaW4gdGhlIGVmZm9ydCB0byBnZXQgT0NhbWwgYW5kIG9wYW0N CiAgZGV0ZXJtaW5pc3RpYw0KICDigKIgTm92IDIwMTUgW0kgY29sbGVjdGVkIGRvd25zdHJlYW0g cGF0Y2hlcyBhbmQgYXNrZWQga2luZGx5IHRvIGdldA0KICAgIHRoZW0gdXBzdHJlYW1dICh0ZW1w b3JhcnkgZmxsZSBuYW1lcyBpbiBiaW5hcmllcywgdGltZXN0YW1wcykNCiAg4oCiIERlYyAyMDE3 IFtCVUlMRF9QQVRIX1BSRUZJWF9NQVAgc3VwcG9ydF0gKGFuZCBmdXJ0aGVyIHBhdGNoZXMgZm9y DQogICAgdGhhdCkNCiAg4oCiIERlYyAyMDE4IFBhcmlzIHN1bW1pdCBbb3BhbSByZXByb2R1Y2li aWxpdHldIFtNaXJhZ2VPU10NCiAg4oCiIFtgb3JiJ10gdG9vbCBmb3IgcmVwcm9kdWNpYmlsaXR5 IHRlc3RpbmcgKHNvIG11Y2ggYmV0dGVyIHRoYW4gdGhlDQogICAgc2hlbGwgc2NyaXB0cyBJIHVz ZWQgaW4gdGhlIG1lYW50aW1lKQ0KICDigKIgRGVjIDIwMTkgW01hcnJha2VzaCBzdW1taXRdDQoN CiAgVGhlIGpvdXJuZXkgaXMgbm90IHlldCBmaW5pc2hlZCwgd2UncmUgaW4gYSBwcmV0dHkgZ29v ZCBzaGFwZSwgYnV0DQogIGZ1cnRoZXIgdGVzdGluZyBhbmQgdG9vbGluZyBpcyBuZWVkZWQgdG8g ZXhwb3NlIHRoZSBpbmZvcm1hdGlvbiAiaXMgbXkNCiAgbGlicmFyeSByZXByb2R1Y2libGU/IiB0 byBPQ2FtbCBkZXZlbG9wZXJzLg0KDQogIEknbSBpbnRlcmVzdGVkIGluIGZlZWRiYWNrLCBwbGVh c2UgbGV0IHVzIGRpc2N1c3MgdGhpcyBmdXJ0aGVyIGhlcmUgaW4NCiAgY2FzZSB5b3UncmUgaW50 ZXJlc3RlZC4gOkQNCg0KDQpbSSBjb2xsZWN0ZWQgZG93bnN0cmVhbSBwYXRjaGVzIGFuZCBhc2tl ZCBraW5kbHkgdG8gZ2V0IHRoZW0gdXBzdHJlYW1dDQo8aHR0cHM6Ly9naXRodWIuY29tL29jYW1s L29jYW1sL2lzc3Vlcy83MDM3Pg0KDQpbQlVJTERfUEFUSF9QUkVGSVhfTUFQIHN1cHBvcnRdDQo8 aHR0cHM6Ly9naXRodWIuY29tL29jYW1sL29jYW1sL3B1bGwvMTUxNT4NCg0KW29wYW0gcmVwcm9k dWNpYmlsaXR5XQ0KPGh0dHBzOi8vcmVwcm9kdWNpYmxlLWJ1aWxkcy5vcmcvZXZlbnRzL3Bhcmlz MjAxOC9yZXBvcnQvI1RvYzExNDEwXzMzMTc2MzA3Mz4NCg0KW01pcmFnZU9TXQ0KPGh0dHBzOi8v cmVwcm9kdWNpYmxlLWJ1aWxkcy5vcmcvZXZlbnRzL3BhcmlzMjAxOC9yZXBvcnQvI1RvYzExNjgx XzMzMTc2MzA3Mz4NCg0KW2BvcmInXSA8aHR0cHM6Ly9naXRodWIuY29tL3JqYm91L29yYj4NCg0K W01hcnJha2VzaCBzdW1taXRdDQo8aHR0cHM6Ly9yZXByb2R1Y2libGUtYnVpbGRzLm9yZy9ldmVu dHMvTWFycmFrZXNoMjAxOS8+DQoNCg0KQW5pbCBNYWRoYXZhcGVkZHkgYWRkZWQNCuKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgA0KDQogIEFuIGFic29sdXRlbHkgYW1hemluZyBjcm9zcy1sYXllciBlZmZvcnQ7IHdlbGwg ZG9uZSBvbiBwdXNoaW5nIGFsbA0KICB0aGlzIHRocm91Z2ggQGhhbm5lcyEgIEkgcmVhbGx5IGVu am95ZWQgcmVhZGluZyB0aGUgbWludXRlcyBvZiB0aGUNCiAgUGFyaXMgc3VtbWl0IGxhc3QgeWVh cjoNCiAgPGh0dHBzOi8vcmVwcm9kdWNpYmxlLWJ1aWxkcy5vcmcvZXZlbnRzL3BhcmlzMjAxOC9y ZXBvcnQvI1RvYzExNjgxXzMzMTc2MzA3Mz4NCg0KDQp0aGUgT0NhbWwgU29mdHdhcmUgRm91bmRh dGlvbg0K4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ 4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQDQoNCiAgQXJjaGl2ZToNCiAgPGh0 dHBzOi8vZGlzY3Vzcy5vY2FtbC5vcmcvdC9hbm4tdGhlLW9jYW1sLXNvZnR3YXJlLWZvdW5kYXRp b24vNDQ3Ni8xMz4NCg0KDQpDb250aW51aW5nIHRoaXMgdGhyZWFkLCBnYXNjaGUgYW5ub3VuY2Vk DQrilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIANCg0KICBBIHNtYWxsIHJlcG9ydCBvbiB0aGUgYWN0aW9ucyB0aGF0IHdlIGxhdW5j aGVkIHNpbmNlIG15IGluaXRpYWwNCiAgcG9zdGluZy4NCg0KICAoVGhlcmUgd2FzIGFsc28gc29t ZSBwcm9ncmVzcyBvbiB0aGUgImVuYWJsaW5nIGluZGl2aWR1YWwgZG9uYXRpb25zIg0KICBmcm9u dCwgbWF5YmUgc29tZXRoaW5nIHdpbGwgYmUgcG9zc2libGUgaW4gdGhlIG5leHQgZmV3IG1vbnRo cy4gRG9uJ3QNCiAgc3RhcnQgaG9sZGluZyB5b3VyIGJyZWF0aCB5ZXQuKQ0KDQogIOKAoiBXZSBh cmUgZnVuZGluZyB0aGUgIkxlYWZzIiByZXNlYXJjaCBwcm9qZWN0IGluIExpc2JvbiB0byBkZXZl bG9wDQogICAgdGVhY2hpbmcgbWF0ZXJpYWwgZm9yIHRoZW9yZXRpY2FsLWNvbXB1dGVyLXNjaWVu Y2UgY291cnNlcyAoYXV0b21hdGENCiAgICBhbmQgc3R1ZmYpIGluIE9DYW1sLCB3aXRoIGludGVy YWN0aXZlIHZpc3VhbGl6YXRpb24gY29tcG9uZW50cywgc29tZQ0KICAgIG9mIHdoaWNoIHdpbGwg aG9wZWZ1bGx5IGJlIGludGVncmF0ZWQgaW4gdGhlIFtMZWFybi1PQ2FtbF0gcGxhdGZvcm0NCiAg ICBvdmVyIHRoZSBjb3Vyc2Ugb2YgMjAyMC8yMDIxLg0KICDigKIgV2UgcHJvdmlkZSBmdW5kaW5n IGZvciB0aGUgW0dhbGxpdW0vQ2FtYml1bV0gcmVzZWFyY2ggdGVhbSBhdCBJTlJJQQ0KICAgIFBh cmlzIChGcmFuY2UpLCBhbiBhY3RpdmUgcGxhY2UgZm9yIE9DYW1sLXJlbGF0ZWQgZnVuZGFtZW50 YWwNCiAgICByZXNlYXJjaCAoc29tZSBvZiB0aGUgdGVhbSBtZW1iZXJzIGFyZSBhbHNvIHZlcnkg YWN0aXZlIG9uIHRoZQ0KICAgIGltcGxlbWVudGF0aW9uIGZyb250LCBmb3IgZXhhbXBsZSBYYXZp ZXIgTGVyb3ksIERhbWllbiBEb2xpZ2V6LA0KICAgIEZsb3JpYW4gQG9jdGFjaHJvbiBBbmdlbGV0 dGksIGFuZCBTw6liYXN0aWVuIEhpbmRlcmVyKS4NCiAg4oCiIFdlIHNwb25zb3IgdGhlIFtTV0VS Q10gcHJvZ3JhbW1pbmcgY29udGVzdCBmb3IgMjAxOS0yMDIwLCBhbmQgaW4NCiAgICByZXR1cm4g dGhlIGNvbnRlc3QgYWRkZWQgT0NhbWwgdG8gdGhlIGxpc3Qgb2YgYXZhaWxhYmxlDQogICAgbGFu Z3VhZ2VzLiBNb3N0IHBhcnRpY2lwYW50cyB0byB0aGVzZSBjb21wZXRpdGl2ZS1wcm9ncmFtbWlu ZyBldmVudHMNCiAgICB1c2UgQysrLCBidXQgd2UgdGFsa2VkIHRvIHBhc3QgYW5kIGFjdGl2ZSBw YXJ0aWNpcGFudHMgd2hvIHNhaWQgdGhleQ0KICAgIHdvdWxkIGJlIGludGVyZXN0ZWQgaW4gdXNp bmcgT0NhbWwgb24gc29tZSBwcm9ibGVtcyB3aXRoIG1vcmUNCiAgICBzeW1ib2xpYyBjb21wdXRh dGlvbi4NCiAg4oCiIE92ZXIgdGhlIGNvdXJzZSBvZiB0aGUgNC4xMCByZWxlYXNlIHByb2Nlc3Ms IHdlIGFyZSBmdW5kaW5nIHdvcmsgYnkNCiAgICBAa2l0LXR5LWthdGUgdG8gaGF2ZSBhIHdpZGUg bG9vayBhdCB0aGUgZWNvc3lzdGVtIGFuZCBpbXByb3ZlDQogICAgY29tcGF0aWJpbGl0eSB3aXRo IHRoZSB1cGNvbWluZyByZWxlYXNlLiAoSSBiZWxpZXZlIHRoYXQgdGhlDQogICAgdXBzdHJlYW0g UFIgWyM5MTc2XSBpcyBhIGZpcnN0IHJlc3VsdCBvZiB0aGlzIGVmZm9ydC4pDQogIOKAoiBJbiBy ZWFjdGlvbiB0byB0aGUgRGlzY291cnNlIHRocmVhZCBbU3VnZ2VzdGlvbnMgZm9yIE9DYW1sDQog ICAgZG9jdW1lbnRhdGlvbl0sIHdlIGFyZSBwbGFubmluZyB0byBmdW5kIGZ1cnRoZXIgd29yayBi eSBAc2FuZXR0ZSB0bw0KICAgIGV4cGVyaW1lbnQgd2l0aCB0aGUgSFRNTCByZW5kZXJpbmcgb2Yg dGhlIE9DYW1sIG1hbnVhbCwgaW4NCiAgICBjb29yZGluYXRpb24gd2l0aCBAb2N0YWNocm9uIHRv IHRyeSB0byB1cHN0cmVhbSBpbXByb3ZlbWVudHMgd2hlbg0KICAgIHJlYXNvbmFibHkgcG9zc2li bGUuDQogIOKAoiBXZSBnb3QgaW4gdG91Y2ggd2l0aCB0aGUgW093bF0gcHJvamVjdCB0byBzcG9u c29yIGEgZGV2ZWxvcG1lbnQNCiAgICBzcHJpbnQgaW4gMjAyMC4NCg0KDQpbTGVhcm4tT0NhbWxd IDxodHRwOi8vb2NhbWwtc2Yub3JnL2xlYXJuLW9jYW1sLmh0bWw+DQoNCltHYWxsaXVtL0NhbWJp dW1dIDxodHRwOi8vY2FtYml1bS5pbnJpYS5mci8+DQoNCltTV0VSQ10gPGh0dHBzOi8vc3dlcmMu ZXUvMjAxOS9hYm91dC8+DQoNClsjOTE3Nl0gPGh0dHBzOi8vZ2l0aHViLmNvbS9vY2FtbC9vY2Ft bC9wdWxsLzkxNzY+DQoNCltTdWdnZXN0aW9ucyBmb3IgT0NhbWwgZG9jdW1lbnRhdGlvbl0NCjxo dHRwczovL2Rpc2N1c3Mub2NhbWwub3JnL3Qvc3VnZ2VzdGlvbnMtZm9yLW9jYW1sLWRvY3VtZW50 YXRpb24vNDUwND4NCg0KW093bF0NCjxodHRwczovL2Rpc2N1c3Mub2NhbWwub3JnL3Qvc3VnZ2Vz dGlvbnMtZm9yLW9jYW1sLWRvY3VtZW50YXRpb24vNDUwND4NCg0KDQpzb3VwYXVsdDogYSBzdGF0 aWMgd2Vic2l0ZSBnZW5lcmF0b3IgYmFzZWQgb24gSFRNTCByZXdyaXRpbmcNCuKVkOKVkOKVkOKV kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkA0K DQogIEFyY2hpdmU6DQogIDxodHRwczovL2Rpc2N1c3Mub2NhbWwub3JnL3QvYW5uLXNvdXBhdWx0 LWEtc3RhdGljLXdlYnNpdGUtZ2VuZXJhdG9yLWJhc2VkLW9uLWh0bWwtcmV3cml0aW5nLzQxMjYv MTA+DQoNCg0KRGFuaWlsIEJhdHVyaW4gYW5ub3VuY2VkDQrilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIANCg0KICBN YWRlIGEgWzEuNy4wIHJlbGVhc2VdLg0KDQogIEZpcnN0IGltcHJvdmVtZW50IGlzIHRoYXQgeW91 IG5vdyBjYW4gcGlwZSB0aGUgY29udGVudCBvZiBhbnkgZWxlbWVudA0KICB0aHJvdWdoIGFueSBl eHRlcm5hbCBwcm9ncmFtIHdpdGggYHByZXByb2Nlc3NfZWxlbWVudCcgd2lkZ2V0IChQUiBieQ0K ICBNYXJ0aW4gS2FybHNzb24pLiAgRm9yIGV4YW1wbGUsIGluc2VydCBpbmxpbmUgU1ZHIHZlcnNp b25zIG9mIGFsbA0KICBncmFwaHZpeiBncmFwaHMgZnJvbSBgPHByZSBjbGFzcz0ibGFuZ3VhZ2Ut Z3JhcGh2aXoiPicgYW5kIGFsc28NCiAgaGlnaGxpZ2h0IHRoZSBEb3Qgc291cmNlIGl0c2VsZiB3 aXRoIFtoaWdobGlnaHRdIChvciBhbnkgb3RoZXIgdG9vbCBvZg0KICB5b3VyIGNob2ljZSk6DQoN CiAg4pSM4pSA4pSA4pSA4pSADQogIOKUgiBbd2lkZ2V0cy5ncmFwaHZpei1zdmddDQogIOKUgiAg IHdpZGdldCA9ICdwcmVwcm9jZXNzX2VsZW1lbnQnDQogIOKUgiAgIHNlbGVjdG9yID0gJ3ByZS5s YW5ndWFnZS1ncmFwaHZpeicNCiAg4pSCICAgY29tbWFuZCA9ICdkb3QgLVRzdmcnDQogIOKUgiAg IGFjdGlvbiA9ICdpbnNlcnRfYWZ0ZXInDQogIOKUgiANCiAg4pSCIFt3aWRnZXRzLmhpZ2hsaWdo dF0NCiAg4pSCICAgYWZ0ZXIgPSAiZ3JhcGh2aXotc3ZnIg0KICDilIIgICB3aWRnZXQgPSAicHJl cHJvY2Vzc19lbGVtZW50Ig0KICDilIIgICBzZWxlY3RvciA9ICcqW2NsYXNzXj0ibGFuZ3VhZ2Ut Il0nDQogIOKUgiAgIGNvbW1hbmQgPSAnaGlnaGxpZ2h0IC1PIGh0bWwgLWYgLS1zeW50YXg9JChl Y2hvICRBVFRSX0NMQVNTIHwgc2VkIC1lICJzL2xhbmd1YWdlLS8vIiknDQogIOKUgiAgIGFjdGlv biA9ICJyZXBsYWNlX2NvbnRlbnQiICMgZGVmYXVsdA0KICDilJTilIDilIDilIDilIANCg0KICA8 aHR0cHM6Ly9hd3MxLmRpc2NvdXJzZS1jZG4uY29tL3N0YW5kYXJkMTEvdXBsb2Fkcy9vY2FtbC9v cmlnaW5hbC8yWC9hL2E0ZDhjYzA1ZDY1NjM0ZGUwZmFmM2MwNWIxNmUwZGU4ZDI3YTc4YTMucG5n Pg0KDQogIFR3byBvdGhlciBpbXByb3ZlbWVudHMgYXJlIG11bHRpcGxlIGluZGV4ICJ2aWV3cyIg YW5kIGRlZmF1bHQgdmFsdWUNCiAgb3B0aW9uIGZvciBjdXN0b20gaW5kZXggZmllbGRzLCBsaWtl DQogIOKUjOKUgOKUgOKUgOKUgA0KICDilIIgW2luZGV4LmN1c3RvbV9maWVsZHNdDQogIOKUgiAg IGNhdGVnb3J5ID0geyBzZWxlY3RvciA9ICJzcGFuI2NhdGVnb3J5IiwgZGVmYXVsdCA9ICJNaXNj IiB9DQogIOKUlOKUgOKUgOKUgOKUgA0KDQoNClsxLjcuMCByZWxlYXNlXQ0KPGh0dHBzOi8vc291 cGF1bHQubmVvY2l0aWVzLm9yZy9ibG9nL3NvdXBhdWx0LTEuNy4wLXJlbGVhc2U+DQoNCltoaWdo bGlnaHRdIDxodHRwOi8vYW5kcmUtc2ltb24uZGU+DQoNCg0KUmVsZWFzZSBvZiBvd2wtc3ltYm9s aWMgMC4xLjANCuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkA0KDQogIEFyY2hpdmU6DQog IDxodHRwczovL2Rpc2N1c3Mub2NhbWwub3JnL3QvYW5ub3VuY2UtcmVsZWFzZS1vZi1vd2wtc3lt Ym9saWMtMC0xLTAvNDkzMC8xPg0KDQoNCmpyemhhbzQyIGFubm91bmNlZA0K4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSADQoNCiAgV2UgYXJlIHBs ZWFzZSB0byByZWxlYXNlIFtvd2wtc3ltYm9saWMgMC4xLjBdLiBJdCBmdWxseSBzdXBwb3J0cw0K ICBkZWZpbmluZyBhIGNvbXB1dGF0aW9uIGdyYXBoIGFuZCBydW5uaW5nIG9uIGFjY2VsZXJhdG9y cyAoVFBVL0dQVSkgdmlhDQogIFtPTk5YXSBzcGVjaWZpY2F0aW9uLiBJdCBhbHNvIGFpbXMgdG8g c3VwcG9ydCBjb252ZXJ0aW5nIGFuIE93bA0KICBjb21wdXRhdGlvbiBncmFwaCBpbnRvIHN5bWJv bGljIHJlcHJlc2VudGF0aW9uIGFuZCB0aGVuIHRvIE9OTlgNCiAgbW9kZWwuIFRoZSBtb2R1bGUg YWxzbyBoYXMgc29tZSBjb29sIGZlYXR1cmVzIGxpa2UgY29udmVydGluZyBhDQogIGNvbXB1dGF0 aW9uIGdyYXBoIGludG8gTGFUZVggc3RyaW5nLCBhbmQgdGhlbiBzaG93aW5nIHRoZSByZXN1bHQg aW4gYQ0KICB3ZWIgVUksIGV0Yy4NCg0KICBXZSBpbXBsZW1lbnRzIGEgZnVsbCBuZXVyYWwgbmV0 d29yayBtb2R1bGUgYXRvcCBvZiBpdCAodGhlIGludGVyZmFjZQ0KICBvZiB3aGljaCBpcyBiYXNp Y2FsbHkgaWRlbnRpY2FsIHRvIHRoYXQgaW4gT3dsJ3MgY29yZSkuIEl0IHR1cm5zIG91dA0KICB0 aGF0IHRoZSBkZXNpZ24gb2YgYG93bC1zeW1ib2xpYycgaXMgc28gbmljZSB0aGF0IHRoZSBETk4g bW9kdWxlIG9ubHkNCiAgaGFzIDE3OSBMT0MhIFlvdSBjYW4gZWFzaWx5IGRlZmluZSBwb3B1bGFy IEROTiBhcmNoaXRlY3R1cmVzIHN1Y2ggYXMNCiAgSW5jZXB0aW9uLCBSZXNOZXQsIFZHRywgZXRj LiBqdXN0IGxpa2UgaW4gT3dsLg0KDQogIFRoaXMgaXMgc3RpbGwgYW4gb24tZ29pbmcgcHJvamVj dCBhbmQgYSBsb3QgcmVtYWlucyB0byBiZQ0KICBkb25lLiBEZXNwaXRlIGl0cyBuYW1lLCBgb3ds LXN5bWJvbGljJyBkb2VzIG5vdCBkbyBhbnkgdXNlZnVsIGNvbXB1dGVyDQogIGFsZ2VicmEgKENB Uykgc3R1ZmYgYXQgdGhlIG1vbWVudCwgYnV0IENBUyBpcyBpbmRlZWQgb24gb3VyIFRPRE8uDQoN CiAgRm9yIG1vcmUgaW5mb3JtYXRpb24sIHBsZWFzZSBjaGVjayBvdXQgdGhlIHJlbGF0ZWQgc2Vj dGlvbiBpbiBbT3dsDQogIHR1dG9yaWFsIGJvb2tdLg0KDQoNCltvd2wtc3ltYm9saWMgMC4xLjBd IDxodHRwczovL29wYW0ub2NhbWwub3JnL3BhY2thZ2VzL293bC1zeW1ib2xpYy8+DQoNCltPTk5Y XSA8aHR0cHM6Ly9vbm54LmFpLz4NCg0KW093bCB0dXRvcmlhbCBib29rXSA8aHR0cHM6Ly9vY2Ft bC54eXovb3dsX3R1dG9yaWFscy9zeW1ib2xpYy5odG1sPg0KDQoNCk9sZCBDV04NCuKVkOKVkOKV kOKVkOKVkOKVkOKVkA0KDQogIElmIHlvdSBoYXBwZW4gdG8gbWlzcyBhIENXTiwgeW91IGNhbiBb c2VuZCBtZSBhIG1lc3NhZ2VdIGFuZCBJJ2xsIG1haWwNCiAgaXQgdG8geW91LCBvciBnbyB0YWtl IGEgbG9vayBhdCBbdGhlIGFyY2hpdmVdIG9yIHRoZSBbUlNTIGZlZWQgb2YgdGhlDQogIGFyY2hp dmVzXS4NCg0KICBJZiB5b3UgYWxzbyB3aXNoIHRvIHJlY2VpdmUgaXQgZXZlcnkgd2VlayBieSBt YWlsLCB5b3UgbWF5IHN1YnNjcmliZQ0KICBbb25saW5lXS4NCg0KICBbQWxhbiBTY2htaXR0XQ0K DQoNCltzZW5kIG1lIGEgbWVzc2FnZV0gPG1haWx0bzphbGFuLnNjaG1pdHRAcG9seXRlY2huaXF1 ZS5vcmc+DQoNClt0aGUgYXJjaGl2ZV0gPGh0dHA6Ly9hbGFuLnBldGl0ZXBvbW1lLm5ldC9jd24v Pg0KDQpbUlNTIGZlZWQgb2YgdGhlIGFyY2hpdmVzXSA8aHR0cDovL2FsYW4ucGV0aXRlcG9tbWUu bmV0L2N3bi9jd24ucnNzPg0KDQpbb25saW5lXSA8aHR0cDovL2xpc3RzLmlkeWxsLm9yZy9saXN0 aW5mby9jYW1sLW5ld3Mtd2Vla2x5Lz4NCg0KW0FsYW4gU2NobWl0dF0gPGh0dHA6Ly9hbGFuLnBl dGl0ZXBvbW1lLm5ldC8+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 December 17 to 31, 20= 19.

Sorry for the hiatus last week, I was away with no internet access. Happy new year!

Internships at Be Sport (OCaml, Ocsigen)

Be Sport announced

Be Sport currently has several open internship positions for OCaml developers.

Keywords: OCaml, Ocsigen, Mobile app development, Web, Database, Sport, Social networks

Be Sport develops the first global platform dedicated to sport, in collaboration with prominent actors of sport in France and in the world. All our development is done in OCaml. Our Web and mobile apps (iOS, Android) are developed as a multi-tier app using the Ocsigen framework. Our premises are located in the center of Paris.

Please contact me for more information.

ocaml-lsp preview

Rudi Grinberg announced

I'm excited to announce ocam= l-lsp. This project contains an implementation of an LSP server for the= OCaml language. The current implementation piggy backs on the widely succe= ssful merlin tool to provide comp= letion & type inference. In the future, we'd like to use all other esse= ntial tools such as ocamlformat, odoc, dune to provide more functionality i= n your editors.

For now, the project isn't yet available on opam as we're still polishing s= ome rough edges in the release process. Nevertheless, I invite all brave so= uls who are ready to experiment to give this lsp server a try. Your feedbac= k & contributions are most welcome :slight_smile:

UnixJunkie asked and Anton Kochkov replied

This project looks nice.

If I am an Emacs or Vi user, can I take advantage of an LSP server?

Or, is this only for some new editors like Atom or VScode?

@UnixJunkie of course! That's the whole point of this tooling.

For Vim you can choose between:

I am not an Emacs expert, but there is amazing LSP integration too:

3D"b8acd745527e=

Pau Ruiz Safont said

Neovim 0.5.0 (now pre-released) has native LSP support as well: https://github.com/neovim/neov= im/pull/11336

Not sure how well integrated is it going to be with various plugins (example)

Anton Kochkov added

NeoVim 0.5.0 will also include the tree-sitter parser for syntax highlighting, which will a= llow way better coloring. And tree-sitter already has OCaml grammar, so implementing semantics-aware syntax highlighter will be eas= ier. But I expect the support more or less ready for external contributions= only in 0.6.0, sadly. Integrating the tool with something like GitHub Semantic (Haskell alert) will greatly improve OCaml expe= rience on GitHub too, see the corresponding issue.

Pieter Goetschalckx said

The next step for Semantic support is documented here, = but I'm working on some improv= ements of the tree-sitter parser first.

Carlos D'Agostino said

For Emacs there is also eglot: https://github.com/joaotavora/eglot – As the RE= ADME says, it's quite minimalist compared to lsp-mode.

Reproducible builds with OCaml / opam and MirageOS

Hannes Mehnert announced

I wrote up recent developments about reproducible builds with opam –= including some tooling https://hannes.nqsb.io/Posts/ReproducibleOPAM

Thanks to everyone involved in the effort to get OCaml and opam determinist= ic

The journey is not yet finished, we're in a pretty good shape, but further = testing and tooling is needed to expose the information "is my library repr= oducible?" to OCaml developers.

I'm interested in feedback, please let us discuss this further here in case= you're interested. :D

Anil Madhavapeddy added

An absolutely amazing cross-layer effort; well done on pushing all this thr= ough @hannes! I really enjoyed reading the minutes of the Paris summit las= t year: https://reproducible-builds.org/events/paris2018/repor= t/#Toc11681_331763073

the OCaml Software Foundation

Continuing this thread, gasche announced

A small report on the actions that we launched since my initial posting.

(There was also some progress on the "enabling individual donations" front,= maybe something will be possible in the next few months. Don't start holdi= ng your breath yet.)

  • We are funding the "Leafs" research project in Lisbon to develop teachi= ng material for theoretical-computer-science courses (automata and stuff) i= n OCaml, with interactive visualization components, some of which will hope= fully be integrated in the Learn-OCaml platform over the course of 2020/2021.
  • We provide funding for the Gallium= /Cambium research team at INRIA Paris (France), an active place for OCa= ml-related fundamental research (some of the team members are also very act= ive on the implementation front, for example Xavier Leroy, Damien Doligez, = Florian @octachron Angeletti, and S=C3=A9bastien Hinderer).
  • We sponsor the SWERC progr= amming contest for 2019-2020, and in return the contest added OCaml to the = list of available languages. Most participants to these competitive-program= ming events use C++, but we talked to past and active participants who said= they would be interested in using OCaml on some problems with more symboli= c computation.
  • Over the course of the 4.10 release process, we are funding work by @ki= t-ty-kate to have a wide look at the ecosystem and improve compatibility wi= th the upcoming release. (I believe that the upstream PR #9176 is a first result of this effo= rt.)
  • In reaction to the Discourse thread Suggestions for OCaml documen= tation, we are planning to fund further work by @sanette to experiment = with the HTML rendering of the OCaml manual, in coordination with @octachro= n to try to upstream improvements when reasonably possible.
  • We got in touch with the Owl project to sponsor a development= sprint in 2020.

soupault: a static website generator based on HTML rewriting

Daniil Baturin announced

Made a 1.7.0 release.

First improvement is that you now can pipe the content of any element throu= gh any external program with preprocess_element widget (PR by = Martin Karlsson). For example, insert inline SVG versions of all graphviz graphs from &= lt;pre class=3D"language-graphviz"> and also highlight the Dot so= urce itself with highlight (or any ot= her tool of your choice):

[widgets.graphviz-svg]
  widget =3D 'preprocess_element'
  selector =3D 'pre.language-graphviz'
  command =3D 'dot -Tsvg'
  action =3D 'insert_after'

[widgets.highlight]
  after =3D "graphviz-svg"
  widget =3D "preprocess_element"
  selector =3D '*[class^=3D"language-"]'
  command =3D 'highlight -O html -f --syntax=3D$(echo $ATTR_CLASS | sed -e =
"s/language-//")'
  action =3D "replace_content" # default

3D"a4d8cc05d656=

Two other improvements are multiple index "views" and default value option = for custom index fields, like

[index.custom_fields]
  category =3D { selector =3D "span#category", default =3D "Misc" }

Release of owl-symbolic 0.1.0

jrzhao42 announced

We are please to release owl-symbolic 0.1.0. It fully supports defining a computation gr= aph and running on accelerators (TPU/GPU) via = ONNX specification. It also aims to support converting an Owl computation graph into symbolic representation= and then to ONNX model. The module also has some cool features like conver= ting a computation graph into LaTeX string, and then showing the result in = a web UI, etc.

We implements a full neural network module atop of it (the interface of whi= ch is basically identical to that in Owl's core). It turns out that the des= ign of owl-symbolic is so nice that the DNN module only has 17= 9 LOC! You can easily define popular DNN architectures such as Inception, ResNet, VGG, etc. just = like in Owl.

This is still an on-going project and a lot remains to be done. Despite its= name, owl-symbolic does not do any useful computer algebra (C= AS) stuff at the moment, but CAS is indeed on our TODO.

For more information, please check out the related section in Owl tutorial book.

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.

--=-=-=--