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 75DE7800DB for ; Thu, 9 Mar 2017 11:29:36 +0100 (CET) X-IronPort-AV: E=Sophos;i="5.36,268,1486422000"; d="scan'208";a="216133240" Received: from dt-64014.paris.inria.fr (HELO [128.93.64.14]) ([128.93.64.14]) by mail3-relais-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES128-SHA; 09 Mar 2017 11:29:36 +0100 To: caml users From: =?UTF-8?Q?Fran=c3=a7ois_Pottier?= Message-ID: Date: Thu, 9 Mar 2017 11:29:36 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Subject: [Caml-list] [ANN] New release of visitors Dear OCaml users, It is my pleasure to announce release 20170308 of the "visitors" package, a syntax extension that makes it easy to generate visitor classes for algebraic data structures. The major additions since the previous release are as follows: - A new option [polymorphic = true] allows generating visitor methods with polymorphic types. With [polymorphic = true], a type variable ['a] is handled by a visitor *function* [visit_'a], which is passed as an argument to every visitor method; whereas, with [polymorphic = false], a type variable ['a] is handled by a virtual visitor *method* [visit_'a]. With [polymorphic = true], visitor classes compose better, and irregular algebraic data types are supported. - A new variety of visitor, "mapreduce", computes a pair of a data structure (like a "map" visitor) and a summary (like a "reduce" visitor). This can be used to annotate every tree node with information about the subtree that lies below it. There are also several minor new features and documentation additions. To install the package via opam, use the following commands: opam update opam install visitors The documentation is here: http://gallium.inria.fr/~fpottier/visitors/manual.pdf Have fun, -- François Pottier francois.pottier@inria.fr http://gallium.inria.fr/~fpottier/