From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id 1D96EBB84 for ; Fri, 20 Jun 2008 19:00:21 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AlIAACt/W0hCbwQblGdsb2JhbACSZAEBAQEJBQgHDwacQg X-IronPort-AV: E=Sophos;i="4.27,680,1204498800"; d="scan'208";a="14185337" Received: from concorde.inria.fr ([192.93.2.39]) by mail1-smtp-roc.national.inria.fr with ESMTP; 20 Jun 2008 19:00:20 +0200 Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id m5KH0K92005880 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Fri, 20 Jun 2008 19:00:20 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AlIAACt/W0hCbwQblGdsb2JhbACSZAEBAQEJBQgHDwacQg X-IronPort-AV: E=Sophos;i="4.27,680,1204498800"; d="scan'208";a="14185336" Received: from out3.smtp.messagingengine.com ([66.111.4.27]) by mail1-smtp-roc.national.inria.fr with ESMTP; 20 Jun 2008 19:00:19 +0200 Received: from compute1.internal (compute1.internal [10.202.2.41]) by out1.messagingengine.com (Postfix) with ESMTP id B162E129759; Fri, 20 Jun 2008 13:00:18 -0400 (EDT) Received: from heartbeat1.messagingengine.com ([10.202.2.160]) by compute1.internal (MEProxy); Fri, 20 Jun 2008 13:00:18 -0400 X-Sasl-enc: p8WxeGBZIW+sNR0RT2CwPL1CaaT1LKF2O7buRnzwLN/5 1213981217 Received: from [192.168.1.10] (ALyon-157-1-122-68.w90-42.abo.wanadoo.fr [90.42.17.68]) by mail.messagingengine.com (Postfix) with ESMTPSA id 31EE4CB49; Fri, 20 Jun 2008 13:00:17 -0400 (EDT) Date: Fri, 20 Jun 2008 18:56:57 +0200 (CEST) From: Martin Jambon X-X-Sender: martin@martin.ec.wink.com To: Richard Jones Cc: Jeremy Yallop , Nathaniel Gray , caml-list@inria.fr Subject: Re: [Caml-list] ANN: patterns v0.4 In-Reply-To: <20080620162617.GA4530@annexia.org> Message-ID: References: <48579E13.8070706@ed.ac.uk> <4858338B.3020103@ed.ac.uk> <20080620162617.GA4530@annexia.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Miltered: at concorde with ID 485BE224.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; ens-lyon:01 0100,:01 ocaml:01 camlp:01 camlp:01 -like:01 icfp:01 variants:01 ocaml:01 viewcvs:01 0.4:98 polymorphic:01 wrote:01 wrote:01 caml-list:01 On Fri, 20 Jun 2008, Richard Jones wrote: > On Tue, Jun 17, 2008 at 10:58:35PM +0100, Jeremy Yallop wrote: >> Nathaniel Gray wrote: >>> On Tue, Jun 17, 2008 at 4:20 AM, Jeremy Yallop >>> wrote: >>>> I'm pleased to announce a new release of `patterns', an OCaml >>>> framework for writing extensions to pattern matching using Camlp4. >>> >>> Ooh, very interesting! Have you looked at "active patterns" in F#? >>> They look really useful and I've been wanting to code them up in >>> camlp4 for a while now but haven't had the time. It sounds like your >>> framework could make that much easier. >> >> Yes, one of the reason for writing the framework was to be able to >> implement F#-like active patterns. I think it should be reasonably >> straightforward to do -- in fact, I'd expect design considerations to >> take up more time than actual implementation work (although I say that >> from the perspective of being already familiar with the "patterns" >> framework, of course). If I remember rightly, there's a note at the end >> of the ICFP07 active patterns paper about using polymorphic variants to >> add active patterns in OCaml, which seems like it might be a good >> starting point. > > Can someone summarise active patterns for us? The MSDN site > containing the paper is down at the moment. > >> You might also be interested in the "views" feature of Martin Jambon's >> "Micmatch", which is along the same lines as active patterns: >> >> http://martin.jambon.free.fr/micmatch-manual.html#htoc10 > > Is anyone working on upgrading micmatch to 3.10? I am, but I don't spend as much time on my personal projects than I used to, so it goes slowly. The dev page is at http://forge.ocamlcore.org/projects/micmatch/ There's a subversion repository. Although the code is currently unusable you can see if there's some progress: http://forge.ocamlcore.org/plugins/scmsvn/viewcvs.php/trunk/micmatch-redux/?root=micmatch Martin -- http://wink.com/profile/mjambon http://mjambon.com/