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 sympa.inria.fr (Postfix) with ESMTPS id BFAB77EFCD; Mon, 13 Oct 2014 15:56:28 +0200 (CEST) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of whitequark@whitequark.org) identity=pra; client-ip=176.58.103.125; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="whitequark@whitequark.org"; x-sender="whitequark@whitequark.org"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of whitequark@whitequark.org designates 176.58.103.125 as permitted sender) identity=mailfrom; client-ip=176.58.103.125; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="whitequark@whitequark.org"; x-sender="whitequark@whitequark.org"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail.whitequark.org) identity=helo; client-ip=176.58.103.125; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="whitequark@whitequark.org"; x-sender="postmaster@mail.whitequark.org"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AjAcAEPZO1SwOmd9/2dsb2JhbABbg2FYAYI1hn6uMQaBQZF9h0sCgTEBfYQCAQEBAwE4Aj8FCwQHGC4sKwYbiC4MCcRIAQEBByKGIIQNhQmBDweESwEEi1iKY4h6inKJNYI0gUg4LwEBgkgBAQE X-IPAS-Result: AjAcAEPZO1SwOmd9/2dsb2JhbABbg2FYAYI1hn6uMQaBQZF9h0sCgTEBfYQCAQEBAwE4Aj8FCwQHGC4sKwYbiC4MCcRIAQEBByKGIIQNhQmBDweESwEEi1iKY4h6inKJNYI0gUg4LwEBgkgBAQE X-IronPort-AV: E=Sophos;i="5.04,711,1406584800"; d="scan'208";a="100878792" Received: from fehu.whitequark.org (HELO mail.whitequark.org) ([176.58.103.125]) by mail2-smtp-roc.national.inria.fr with ESMTP; 13 Oct 2014 15:56:25 +0200 Received: by mail.whitequark.org (Postfix, from userid 33) id 988AA10BDDB; Mon, 13 Oct 2014 13:56:24 +0000 (UTC) To: Jun Furuse X-PHP-Originating-Script: 1000:rcube.php MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Mon, 13 Oct 2014 17:56:24 +0400 From: Peter Zotov Cc: caml-list , caml-list-request@inria.fr In-Reply-To: References: Message-ID: <8d73ce9dd0bb6d400565617d992736b5@whitequark.org> X-Sender: whitequark@whitequark.org User-Agent: Roundcube Webmail/1.0.1 Subject: Re: [Caml-list] [ANN] ppx_overload : ppx for user definable SML style overloading On 2014-10-13 17:49, Jun Furuse wrote: > Hi, > > I have OPAM-released ppx_overload, a ppx for user definable SML style > overloading. Hi, Great hack! I wanted to do something similar, but yours is much more elegant than what I had in mind. One note though: > Unfortunately this ppx trick does not work for the toplevel. It is > since OCaml toplevel > re-execute the ppx filter each time it gets a toplevel phrase. This > makes the ppx filter > hard to keep its state, in this case, the typing environment. In 4.02.1 the toplevel allows the ppx rewriter to save some state. See http://caml.inria.fr/cgi-bin/viewvc.cgi/ocaml/trunk/parsing/ast_mapper.mli?view=markup#l192. -- Peter Zotov