From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id DEBAABB81 for ; Fri, 24 Feb 2006 14:44:41 +0100 (CET) Received: from ext.lri.fr (ext.lri.fr [129.175.15.4]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id k1ODifoO012202 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Fri, 24 Feb 2006 14:44:41 +0100 Received: from smtp.lri.fr (serveur3-5 [129.175.3.5]) by ext.lri.fr (Postfix) with ESMTP id 5FBB8202670; Fri, 24 Feb 2006 14:44:41 +0100 (CET) Received: from pc9-152 (pc9-152 [129.175.9.152]) by smtp.lri.fr (Postfix) with ESMTP id 962BECED9D; Fri, 24 Feb 2006 14:44:38 +0100 (CET) Received: from filliatr by pc9-152 with local (Exim 3.36 #1 (Debian)) id 1FCdEx-00054P-00; Fri, 24 Feb 2006 14:44:11 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Message-ID: <17407.3494.29948.382697@gargle.gargle.HOWL> Date: Fri, 24 Feb 2006 14:44:06 +0100 To: EEK Cooper Cc: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Map.fold behavior changed In-Reply-To: <20060224132950.7l49sm2akg0sskkw@www.sms.ed.ac.uk> References: <20060224112209.51szurk2dc00oggg@www.sms.ed.ac.uk> <17406.61821.450737.625981@gargle.gargle.HOWL> <20060224132950.7l49sm2akg0sskkw@www.sms.ed.ac.uk> X-Mailer: VM 7.19 under Emacs 21.4.1 From: Jean-Christophe Filliatre X-Virus-Scanned: by amavisd-new at lri.fr X-Miltered: at concorde with ID 43FF0DC9.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 filliatre:01 filliatr:01 lri:01 compiler:01 ocaml:01 bug:01 ocaml's:01 camlp:01 ifdef:01 ocaml's:01 rewrote:01 camlp:01 makefile:01 filliatre:01 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.3 EEK Cooper writes: > I'm glad to hear that others are facing this problem as well. Those of > you who are: how are you dealing with it? Are you simply requiring your > users to use a particular version of the compiler? Or switching on > Sys.ocaml_version? When we discovered the bug, we first used a test of ocaml's version at configuration time and a preprocessing using camlp4's pa_ifdef module to select the right order relation according to ocaml's version (our initial order relation or the inverse relation, to get the same behavior as before with the new Map.fold). But this was not very satisfactory, and we finally rewrote our code to be independent of Map.fold implementation (and we got rid of camlp4 preprocessing, which simplified our Makefile). -- Jean-Christophe Filliātre (http://www.lri.fr/~filliatr)