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 mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 3889180208 for ; Sat, 9 Sep 2017 21:57:13 +0200 (CEST) Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=ivg@ieee.org; spf=Pass smtp.mailfrom=ivg@ieee.org; spf=None smtp.helo=postmaster@mail-lf0-f54.google.com Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of ivg@ieee.org) identity=pra; client-ip=209.85.215.54; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="ivg@ieee.org"; x-sender="ivg@ieee.org"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of ivg@ieee.org designates 209.85.215.54 as permitted sender) identity=mailfrom; client-ip=209.85.215.54; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="ivg@ieee.org"; x-sender="ivg@ieee.org"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-lf0-f54.google.com) identity=helo; client-ip=209.85.215.54; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="ivg@ieee.org"; x-sender="postmaster@mail-lf0-f54.google.com"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3AanHyexA2SKSN2XDVcVJnUyQJP3N1i/DPJgcQr6Af?= =?us-ascii?q?oPdwSP39o8bcNUDSrc9gkEXOFd2Crakb26yL6+jJYi8p39WoiDg6aptCVhsI24?= =?us-ascii?q?09vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6i760TlHERz6MU9x?= =?us-ascii?q?J//pUtrZhsGzkuSz4IH7YgNShTP7b6kkfzusqgCEl9cfh8NNLbo21BDJo2dTM7?= =?us-ascii?q?BX22xAJF+eklD7/Mjmr80ryDhZp/90r50Iaq79ZaltFbE=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0DSEgAjRrRZhjbXVdFcHAEBFgEBBQEBC?= =?us-ascii?q?gEXAQYBg0g/bicHg3CBNpkMhGWNeYRZghkDXAolhRmEBgdDFAEBAQEBAQEBAQE?= =?us-ascii?q?BEgEBAQgLCwgoL4IzIoJtHQEBOB4HNwIkEgEFASIbihwNEKFXQIsga4IngwkBA?= =?us-ascii?q?QWIUQgSgxmCAoFQii+CZoJhkjiOQYdbjHaCE4VninUClRcUBR+BFQ8ngS6BBAh?= =?us-ascii?q?kBoQ0VIF2PTYBAQEBh38BAQE?= X-IPAS-Result: =?us-ascii?q?A0DSEgAjRrRZhjbXVdFcHAEBFgEBBQEBCgEXAQYBg0g/bic?= =?us-ascii?q?Hg3CBNpkMhGWNeYRZghkDXAolhRmEBgdDFAEBAQEBAQEBAQEBEgEBAQgLCwgoL?= =?us-ascii?q?4IzIoJtHQEBOB4HNwIkEgEFASIbihwNEKFXQIsga4IngwkBAQWIUQgSgxmCAoF?= =?us-ascii?q?Qii+CZoJhkjiOQYdbjHaCE4VninUClRcUBR+BFQ8ngS6BBAhkBoQ0VIF2PTYBA?= =?us-ascii?q?QEBh38BAQE?= X-IronPort-AV: E=Sophos;i="5.42,368,1500933600"; d="scan'208,217";a="236898336" Received: from mail-lf0-f54.google.com ([209.85.215.54]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 09 Sep 2017 21:57:12 +0200 Received: by mail-lf0-f54.google.com with SMTP id m199so11309590lfe.3 for ; Sat, 09 Sep 2017 12:57:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ieee-org.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=3dUeFaEY7BWko35AacDj7qaruogOSnA9vBGkf7QtRbM=; b=nzwx59JWCmce1/l+z4HIlAlDMHltinVAnULLCmeK4LUW1pvy8wdJQkMQ2DkHuY5Sqp 70BZihlpovU8Jv3vvZ3UWiW2o0FSp6nLJyIeO94GPJw1lYBjtxAsV11fhWVey9kkRUTa 5USwQur5rD0XgaXsp/ovPykwO++mXaVByVx2AFN8JiE2KliFh+7bZy//jlC79WMezBIK AMfNjA4CxuY4OH4djjVi3u5urcj3yboht72+HxZGC0rQulkY/qm/TT4vC9ywjdLbmLdR Xd5LSl4zjbFHMWAp9cx+sqQjGLiGObPS6XKMyqmFhrRhZkVme+BI1T0AXh3KTtNTZ6H2 OXXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=3dUeFaEY7BWko35AacDj7qaruogOSnA9vBGkf7QtRbM=; b=uicakm8WljhSgHEChV0eUOzY49VOePrYUrJrHA187LrRnLSNcT9Rn16GtzapFZCYgx 4LDr0T1F7PaM9PrLloyu8cOSEOKYK7ITKbRzhHSeVefitb9hd+PRZGVEDb6oQnQAAxhV kUpN8/Qa3cXt/Dm2UI0Etxjg/QRTKbVXLhHYmusMzXye448zcZWLV2B2SoZdrbmIwEFk 1yJhn9c2kxT4yJbKrLNftQxNyduFUsnideB2K0JIysf/3B3jTC85nBXqe36tAkq6OWut nFuVZAmO8lriw9o3mz4OcmRcHy9vaeJflnJ2yDqiZqRXI1resKbGJmE3IhNswrv7GSSf RWMQ== X-Gm-Message-State: AHPjjUg2rzLheTzETBGVhqvYxEv+mRxVrdqhsBe/1JqdWYnd4dNs4S0r gFFWtnMQcVEn8GiSCKNmvZmCh/Q6QKHs7NM= X-Google-Smtp-Source: AOwi7QBBHvtvyenQYRyJrRSTOM2SaNWtOWMRpOX5nEvSoDPSBdOU4bRfESE32eMG9JD3UPxaJQTrAOHgo/8E5bSp+7I= X-Received: by 10.25.16.208 with SMTP id 77mr2032571lfq.156.1504987030897; Sat, 09 Sep 2017 12:57:10 -0700 (PDT) MIME-Version: 1.0 Received: by 10.46.88.73 with HTTP; Sat, 9 Sep 2017 12:57:10 -0700 (PDT) From: Ivan Gotovchits Date: Sat, 9 Sep 2017 22:57:10 +0300 Message-ID: To: caml-list Content-Type: multipart/alternative; boundary="001a114032945e8a110558c71960" Subject: [Caml-list] [ANN] Monads Library --001a114032945e8a110558c71960 Content-Type: text/plain; charset="UTF-8" We are doing [program analysis][3] in CMU, Cylab, and thus we deal a lot with computations. Since monads naturally denote computations, we finally ended up with our own library of monads. Here are the most notable features our library: 1. The library is thoroughly [documented][2]; 2. The monad interface is very rich with more than a hundred of functions; 3. Provides monad transformers for 12 Monads; 4. A non-restrictive license (MIT). The Monads library is developed by the BAP Team and is released as a part of the [BAP v1.3 release][4]. It can be installed from opam with `opam install monads`. Please, report any bugs to the BAP [issue tracker][1]. Pull request are always welcome! P.S. If you don't feel comfortable in the presence of monads, try our [tutorial][5], maybe it will help you to get along with them. See also the Discuss [thread][6] for further info. [1]: https://github.com/BinaryAnalysisPlatform/bap/issues [2]: http://binaryanalysisplatform.github.io/bap/api/v1.3.0/Monads.Std.html [3]: https://github.com/BinaryAnalysisPlatform/bap [4]: https://discuss.ocaml.org/t/ann-bap-v1-3-release/829 [5]: http://binaryanalysisplatform.github.io/bap/api/v1.3.0/Monads.Std.html#intro [6]: https://discuss.ocaml.org/t/ann-monads-the-missing-monad-transformers-library/830 --001a114032945e8a110558c71960 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
We are doing [program analysis][3] in CMU, Cylab, and= thus we deal a lot with computations. Since monads naturally denote comput= ations, we finally ended up with our own library of monads. Here are the mo= st notable features our library:

1. The library is= thoroughly [documented][2];
2. The monad interface is very rich = with more than a hundred of functions;
3. Provides monad transfor= mers for 12 Monads;
4. A non-restrictive license (MIT).=C2=A0

The Monads library is developed by the BAP Team and i= s released as a part of the [BAP v1.3 release][4]. It can be installed from= opam with `opam install monads`. Please, report any bugs to the BAP [issue= tracker][1]. Pull request are always welcome!

P.S= .=C2=A0 If you don't feel comfortable in the presence of monads, try ou= r [tutorial][5], maybe it will help you to get along with them.=C2=A0
=