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 5D6675D5 for ; Sat, 3 Apr 2021 12:41:41 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.81,302,1610406000"; d="scan'208,217";a="501459085" Received: from prod-listesu18.inria.fr (HELO sympa.inria.fr) ([128.93.162.160]) by mail2-relais-roc.national.inria.fr with ESMTP; 03 Apr 2021 14:41:39 +0200 Received: by sympa.inria.fr (Postfix, from userid 20132) id BCBAEE1D3D; Sat, 3 Apr 2021 14:41:39 +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 64BC0E0171 for ; Sat, 3 Apr 2021 14:41:37 +0200 (CEST) Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=helmut.brandl@gmx.net; spf=Pass smtp.mailfrom=helmut.brandl@gmx.net; spf=None smtp.helo=postmaster@mout.gmx.net IronPort-PHdr: =?us-ascii?q?A9a23=3ADLw9lRz2+milvpzXCzK4zVBlVkAck4WxBRYc798?= =?us-ascii?q?ds5kLTJ7L16rrMEGX3/hxlliBBdydt6sVzbOI4+u7ACQp2tWoiDg6aptCVhsI2?= =?us-ascii?q?409vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6nK94iQPFRrhKAF?= =?us-ascii?q?7Ovr6GpLIj8Swyuu+54Dfbx9HiTagZb5+Ngi6oATSu8UZj4ZuN7s6xwfUrHdPZ?= =?us-ascii?q?+lY335jK0iJnxb76Mew/Zpj/DpVtvk86cNOUrj0crohQ7BAAzsoL2465MvwtRn?= =?us-ascii?q?eVgSP/WcTUn8XkhVTHQfI6gzxU4rrvSv7sup93zSaPdHzQLspVzmu87tnRRn1g?= =?us-ascii?q?ygAKjA57XrXitRug61HvBKvqRt/w4vOb4GUMvp1Y6fRcNweSGZEWMtaSi5PDZ6?= =?us-ascii?q?mb4YXD+QOIelXoYfgqVUNsxWwAhKhC/nzxj9NnHL23bE23/onHArb3AIgBdUOs?= =?us-ascii?q?HHModv3KqgSVeW1zLTUzT7ecv5Wwy3y6I7VfRAlvPqBWrJwftTVyUkqCgPFkk+?= =?us-ascii?q?cppf/PzyP0OQCrmyb4vFvVeKqhG8rsQdxrSazxso1jITCm40axEze+ypj3IY1O?= =?us-ascii?q?cO3SFR9YdO8H5VeuTyWOpd4TM4jQWxmtzg3x7watZC0ciYH1JspygPdZvGafYW?= =?us-ascii?q?F5hzuWPueLDtmh39oeLGyiwiv/EauxeDxWM+520tEoCpCl9nDrHEN1xrL58iIS?= =?us-ascii?q?/t94keh2SuU2AzJ6+FEJlg4laXaK549wr4wi4EcvV7fES/xnUX7irKdeEY8+uW?= =?us-ascii?q?w9ejrf6vqqoWCO4NqiAzyKLkil8ylDeglMQUCR2qW9Oam2LH980D1WqhGg/Mrn?= =?us-ascii?q?qXDv53WOMIWrbOjDQBPyIYs8RO/Ai+m0NsGmXkHK0pIeBeAj4j0J1HCOv/4DfK?= =?us-ascii?q?wgli2ljdk2ezGMqXgApXLMHfDjK/scahg50JC0gY/085T6pBOBr0cIP//QFL9u?= =?us-ascii?q?d/AAh88KQO0wuLnCNtn1oMZXGKCGq+ZP73WsV+N++IvP/OAa5QPuDnnLfgq+vr?= =?us-ascii?q?ugGQ2mV8Ycqilx50XZ26kHvh+OUWWfWLsgssdEWcNpgcxUPbliFiGUTJKY3ayX?= =?us-ascii?q?rk85i0gBYK9DYbDQ5itj6ab0Ce6GJ1WfGFGBUqWHXfmbYXXE8sLPSmbJ8spjyc?= =?us-ascii?q?JT6PpH4Qo0BXrsA7h15JmKPDV82sWr8Sw+sJy4rjzmBU36CA8Jd6U1W2JBzV0k?= =?us-ascii?q?2cNWiNw1rp2p0B54liGwe5+juAORo8b3O9ATgpvbc2U9Od9Ed2nBlOpVufMc06?= =?us-ascii?q?vR5CdOR90S9swx9EUZEMVM9qnnlbF0jb4Wtc9p/mwHJUxt5nk8T3xKsJ6o17D0?= =?us-ascii?q?7Q9yVYjUo1JOHH03sZXx03oH4fM1n6hueOyb6109CHI5CGFwHbc5Cll?= IronPort-HdrOrdr: =?us-ascii?q?A9a23=3A5tJWDa0zSlBY4/PHqZbgfAqjBAAkLtp033Aq?= =?us-ascii?q?2lEZdDV+dMuEm8ey2MkKzBOcslkscVwDufTFAqmPRnvA6YV4iLN7AZ6OVBTr0V?= =?us-ascii?q?HIEKhM9o3nqgeNJwTb+vRG3altN4hyYeeAbmRSqcb/7E2GH807wN+BmZrHuc7k?= =?us-ascii?q?w31gTR5nZshbhm8VNi+gDkZ0SANabKBYKLOg4KN81lidUEVSSsy6A3UfNtKzwu?= =?us-ascii?q?HjpdbeehgYDxA8rCmi5AnYjILSIlyjxx8bFxxLyblKyxmjryXJopmC99em11vy?= =?us-ascii?q?12rP449MlMH8z8ZYbfb87PQ9G3HRqkKTaINtV6bHljU8uvvH0jwXrOU=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AjAgAvYmhgdBIP49RaHAEBAQEBAQcBA?= =?us-ascii?q?RIBAQQEAQFAgVKBI4F/VzkxmhiYBgNUCwEDAQ0oCQECBAEBhFCBfgIdBwEENBM?= =?us-ascii?q?CEQEBBQEBAQIBAwMEARMBDgsMBycchVANgjgMhEcBATiBPYMEAYJUAQMzC59li?= =?us-ascii?q?y2BNIEBggQBAQaCTIICAUsDbYE7AwaBOYZ9hnYQgVVCgTochWYXAgGCCoMfgiu?= =?us-ascii?q?EAwKrWpE1LAeCdheBHgULiDGTGhYJg0yhIQGPe4cphj+BCAmCCZIsgQ8BhCqBa?= =?us-ascii?q?4F8MxoubwGCPj4SGQ6OH4NwgmSBdYYCPzICNgIGCgEBAwlPCgEBjiABAQ?= X-IPAS-Result: =?us-ascii?q?A0AjAgAvYmhgdBIP49RaHAEBAQEBAQcBARIBAQQEAQFAgVK?= =?us-ascii?q?BI4F/VzkxmhiYBgNUCwEDAQ0oCQECBAEBhFCBfgIdBwEENBMCEQEBBQEBAQIBA?= =?us-ascii?q?wMEARMBDgsMBycchVANgjgMhEcBATiBPYMEAYJUAQMzC59liy2BNIEBggQBAQa?= =?us-ascii?q?CTIICAUsDbYE7AwaBOYZ9hnYQgVVCgTochWYXAgGCCoMfgiuEAwKrWpE1LAeCd?= =?us-ascii?q?heBHgULiDGTGhYJg0yhIQGPe4cphj+BCAmCCZIsgQ8BhCqBa4F8MxoubwGCPj4?= =?us-ascii?q?SGQ6OH4NwgmSBdYYCPzICNgIGCgEBAwlPCgEBjiABAQ?= X-IronPort-AV: E=Sophos;i="5.81,302,1610406000"; d="scan'208,217";a="377688820" X-MGA-submission: =?us-ascii?q?MDFt4gfUl9R+ikKJ36ALVK8sk2/E2YXgEwZvos?= =?us-ascii?q?7aOEqbb7PtUDLCfgrEppTdpJCFzl0Fv+USrJI7MMK2JEnxgU1dJ5LEjD?= =?us-ascii?q?w/Lh22WUsJPYAf9e/Wq2XHX+61OidWI0Z/1LsBkNLAfK35ccxVgHpvwb?= =?us-ascii?q?WCJS237bJCF9KHMF47RsZ9Iw=3D=3D?= Received: from mout.gmx.net ([212.227.15.18]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Apr 2021 14:41:12 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1617453671; bh=jmo5Sw+nfh4UVdZlcjAFzM5xowLnygjJ1rO2v08SpXo=; h=X-UI-Sender-Class:From:Date:Subject:To; b=TDSz0OP3ntG5NBvku82+rOJ2KNyKrMfGTDzeQC5SCXHCNE9QJt/gH1OVMVqz4dlus 2N+kc0K9mkRqw0872iF22zxadeZm81b81WQGpOmX1AFJ5DVxJjWXB+DRCRDwNP1Ovw wsfDWHjmHbj5n6DynTzIAbIkqAuFLlRnK9IOVCv0= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from helmuts-mbp.fritz.box ([77.23.131.41]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1N6bk4-1lfNiD1LVm-0182tZ; Sat, 03 Apr 2021 14:41:11 +0200 From: Helmut Brandl Content-Type: multipart/alternative; boundary="Apple-Mail=_166BAE90-A91A-46E0-919C-8E9FF44A680D" Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.4\)) Date: Sat, 3 Apr 2021 14:41:10 +0200 Message-Id: To: caml users X-Mailer: Apple Mail (2.3608.120.23.2.4) X-Provags-ID: V03:K1:cr5JBb93CTQhMCPZ2lHySO/VhMF40qkKHLpvcxm+k54Vu4MkRqN VsyA5VAK9O8QPig0C6Figbwes15oP6zpE1JcOilA0ILxfg7D0dIwlNVhBklLyXkTG+iK+g/ p1LWxL72STrdd5E/urBjCyIKz0NcXMEv+I63aD18y32mz13C4yu082TFtyb92y1HVuRsKQ4 qyYIutYP/iT1cpmuZpzNA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:d9ANVOM/QjA=:JgH1TqHZ/89Yac5kbB16h2 KFsM5TGYNrfHqfFJFRX1jQMhDDddIgg+KkXd51+OV099gpfJKdkcctcsKWfmsORuMMUNVBDbJ h47M6WzVB89dkm1weN0fy4ZAgRjQeOrZYwAE66fqkWCao0JZizMFeh984GnsyGtX6KR6lByY5 r1Z3JvMjOYkWhDZUygoZbdJ/KceD/hysl1jSzqnSyI30JwWvPbcmhbc1iNmcKOwlCpw9IdXy1 dT0tLZReiWp0zWI1CcANXufTFy8787qvL01JbuG0dzn0Was8lO571lZSPrUhOOaXXf7G6BMPI UUZBd+8N5Byps134Hrk/PPfJbeVV1x5TWQeWejpOl5KqRbN1Dvffp9Y8QOCgXHy0iLd389Cqx klvsYKn0tKNKRkygwfH7tpQlBPLzO9rh2QtEu17NbvR+SuHcei3t26THRW3yfztnIycJVzGpA 8AY1wAy0AMQr4KC2zn4aas/FqjlykyK58b/eLSh1mYDy4J+wPKv3JEf2b2DVzBI93nF/NkF/x zBcXFHQgxnBYhoPzqr8RvAD8S/LpCl46YyCfSBgk74CPkxvB8ey62NPWKreLRrwcx0lEVkVsP 2POzQnVlaPN+wHoWotMgxAlsVt7orXH4bwkGniSXkmKS+mur8QZ4kxgKhp90bPQCz2XDTx0Og PCf0k+WNZI7mUyXIeN53pxk4/IKgpFeaC9a2loCMLnVuJBY5fUrQHHCnzkNz2sfHlGwteAT91 vxfZnFP0ZgUJOAEL0pLMSQWWn5l3LFqYRndqzuMeikIZySXkKkddaAcAUnylh/WXfv9/q2uQF p+rz9jHczS1A4f6PUo6b6N8f/zxHpOK1cWsEdokv2JQzTITYlTj7u2xywge7ZLKYN1VUFMh85 +xWsL1OlS2g6OA/C36zDlDjRGBCuFpSKWmzd39RfzIQW0n0Pxgh/DYNZqmpByoxFxMq6vZPrA nLsrIv1CI1d5P/NwCB3E9yxHiiO2ZGGP/jhavoiTXdAkxvuuKwgfg8Qfo5qNKpnFDDI9+DAX4 hibSDvRqpWiWY3LezFIaqLob7v7vPf4l+4p1AvVFbBrmn814nFhV/F6lzduH4rqyPd/rmIuSy uHLIBW+IQKuCN8k0qTzP4hRd7qa9kBqLPjUTsnld6opzX2ie4iyzpT/GcJXf7mKoJexOliIML +WaOo6S02H/cw304RyF236YJpXXWtBB+JrRRaMEtFkGkLlNppEQeGaPFMVoJocCXpnd8O8x+M NKKmQMRpQRSBCgioa Subject: [Caml-list] [ANN] release of fmlib.0.2.0 Reply-To: Helmut Brandl X-Loop: caml-list@inria.fr X-Sequence: 18449 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: --Apple-Mail=_166BAE90-A91A-46E0-919C-8E9FF44A680D Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii I am pleased to announce the second release (0.2.0) of fmlib, a = functional library with managed effects. The library has up to now 4 components: - Some standard datatypes = https://hbr.github.io/fmlib/odoc/fmlib/Fmlib_std/index.html = - Pretty printing functions = https://hbr.github.io/fmlib/odoc/fmlib/Fmlib_pretty/Print/index.html = - Parsing combinator library = https://hbr.github.io/fmlib/odoc/fmlib/Fmlib_parse/index.html = - Primitives to compile to javascript = https://hbr.github.io/fmlib/odoc/fmlib_js/index.html = The last component is the new one in version 0.2.0. Internally it uses `js_of_ocaml` to compile to javascript. It is an easy to use library of primitive functions to access mainly browser functionality from ocaml = and some rudimentary functions to access nodejs functionality. It can be installed via opam by opam update opam install fmlib opam install fmlib_js It is located at github https://github.com/hbr/fmlib = Remarks, comments and feedback is welcome. Regards Helmut= --Apple-Mail=_166BAE90-A91A-46E0-919C-8E9FF44A680D Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii
I am pleased to announce the second = release (0.2.0) of fmlib, a functional
library with managed effects.

The library has up to now 4 = components:





The last component is the new one in version 0.2.0. = Internally it uses
`js_of_ocaml` to compile to javascript. It is an easy to use = library of
primitive= functions to access mainly browser functionality from ocaml and = some
rudimentary functions to access nodejs = functionality.

It can be installed via opam by

    opam update
    opam install fmlib
    opam install = fmlib_js

It is located at github https://github.com/hbr/fmlib

Remarks, comments and feedback is = welcome.

Regards = Helmut
= --Apple-Mail=_166BAE90-A91A-46E0-919C-8E9FF44A680D--