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 695167FBD3 for ; Tue, 13 Jan 2015 15:23:19 +0100 (CET) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of jun.furuse@gmail.com) identity=pra; client-ip=209.85.212.178; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="jun.furuse@gmail.com"; x-sender="jun.furuse@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of jun.furuse@gmail.com designates 209.85.212.178 as permitted sender) identity=mailfrom; client-ip=209.85.212.178; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="jun.furuse@gmail.com"; x-sender="jun.furuse@gmail.com"; 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-wi0-f178.google.com) identity=helo; client-ip=209.85.212.178; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="jun.furuse@gmail.com"; x-sender="postmaster@mail-wi0-f178.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AqkAAJgptVTRVdSylGdsb2JhbABbg1hYBMYMhwAHQwEBAQEBEQEBAQEHCwsJEjCEJRUZARseAxIQXQERAQUBIjWHdQEDEQ2rOIMpPjGNGYJ3ilYKGScNVIMjAQEEDpQbBYllgwKFIIVIiX+GMxIjgRWCVIFJMTGCQwEBAQ X-IPAS-Result: AqkAAJgptVTRVdSylGdsb2JhbABbg1hYBMYMhwAHQwEBAQEBEQEBAQEHCwsJEjCEJRUZARseAxIQXQERAQUBIjWHdQEDEQ2rOIMpPjGNGYJ3ilYKGScNVIMjAQEEDpQbBYllgwKFIIVIiX+GMxIjgRWCVIFJMTGCQwEBAQ X-IronPort-AV: E=Sophos;i="5.07,750,1413237600"; d="scan'208";a="96269032" Received: from mail-wi0-f178.google.com ([209.85.212.178]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 13 Jan 2015 15:23:18 +0100 Received: by mail-wi0-f178.google.com with SMTP id em10so4240422wid.5 for ; Tue, 13 Jan 2015 06:23:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=aXAB0MGTw12bWd71ZeGyIxHbr+VeFP5HIKrTDXl4Q/k=; b=M1X3RX1mvgmisvRyUiGHgNmpVuNI03mREUWlYUvJfpi3eMc8Qs1+fiGlg3JmkCfIXL jW3leFgzb/XYUrIEdCpzYWgXwmX/qoApsMU5o4VoVJw/VOwS7SdxE+eyzvofUxa6eLsU NmB+sj+xfkjlva8q7Fb6bfAERdfz8RSNNxEPotabxr8FRuwXqaMJMKZT9QyFODE3rSyz ASRIK1PSCpgTE/Uzt3iJffQpL+n8GMZ39jVRGLUEPDc3YNKYUM5dOPdktNxrOW3ERdWb ezk4N3GwtLeBxFFIlPmQkR1TFgI5k/gX7F3TQXzZVuNZC0qRlEoJGWH08EGvyt5/TUDw hHtQ== MIME-Version: 1.0 X-Received: by 10.180.108.232 with SMTP id hn8mr7540325wib.39.1421158998614; Tue, 13 Jan 2015 06:23:18 -0800 (PST) Received: by 10.194.100.130 with HTTP; Tue, 13 Jan 2015 06:23:18 -0800 (PST) Date: Tue, 13 Jan 2015 22:23:18 +0800 Message-ID: From: Jun Furuse To: caml-list Content-Type: text/plain; charset=ISO-8859-1 Subject: [Caml-list] [ANN] ppx_monadic.1.0.2, ppx for monadic do, pattern guards and monadic comprehension Hi, I have OPAM-released ppx_monadic.1.0.2, a ppx extension for * Monadic do notation: do_; * Pattern guards: when p <-- e -> .. * List and monadic comprehension: [%comp x || p <-- e; ..] These 3 extensions share the same do-sequence syntax sugar, which is a sequence of the following phrases: * Monadic bind : p <-- e * Action: e * Escape: (); e (to write the normal sequential execution) * let .. in .. and [%x .. ] It is already available via OPAM: opam intall ppx_monadic. More detailed documentation and source code is available at: https://bitbucket.org/camlspotter/ppx_monadic Enjoy! Jun