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 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 77A9CBC6B for ; Tue, 22 Jan 2008 21:24:42 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAOvflUfAXQImgGdsb2JhbACQFgEBPJwx X-IronPort-AV: E=Sophos;i="4.25,235,1199660400"; d="scan'208";a="7073808" Received: from discorde.inria.fr ([192.93.2.38]) by mail1-smtp-roc.national.inria.fr with ESMTP; 22 Jan 2008 21:24:42 +0100 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id m0MKOff9019899 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Tue, 22 Jan 2008 21:24:42 +0100 X-IronPort-AV: E=Sophos;i="4.25,235,1199660400"; d="scan'208";a="21620971" Received: from yquem.inria.fr ([128.93.8.37]) by mail4-relais-sop.national.inria.fr with ESMTP; 22 Jan 2008 21:24:41 +0100 Received: by yquem.inria.fr (Postfix, from userid 25991) id 74144BC6B; Tue, 22 Jan 2008 21:24:41 +0100 (CET) Date: Tue, 22 Jan 2008 21:24:41 +0100 From: Daniel de Rauglaudre To: caml-list@inria.fr Subject: Re: [Caml-list] camlp5: bug? Message-ID: <20080122202441.GA4934@yquem.inria.fr> References: <479676C5.3090001@tepkom.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <479676C5.3090001@tepkom.ru> User-Agent: Mutt/1.5.9i X-Miltered: at discorde with ID 47965109.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; rauglaudre:01 rauglaudre:01 camlp:01 bug:01 camlp:01 cmo:01 expr:01 expr:01 wrote:01 caml-list:01 behaves:02 match:02 match:02 module:03 module:03 Hi, On Tue, Jan 22, 2008 at 11:05:41PM +0000, Dmitri Boulytchev wrote: > Given the file t.ml with the single line > () (let module X = Y in ()) > camlp5 behaves as shown below: > camlp5o pr_o.cmo t.ml > /dev/null --- Failure: unable to print expr This is indeed something missing in Camlp5. It will be fixed in next release. In the meantime, you can edit the file "etc/pr_o.ml" and around line 1100, change: <:expr< let $flag:_$ $list:_$ in $_$ >> | <:expr< match $_$ with [ $list:_$ ] >> | into: <:expr< let $flag:_$ $list:_$ in $_$ >> | <:expr< let module $uid:_$ = $_$ in $_$ >> | <:expr< match $_$ with [ $list:_$ ] >> | (i.e. insert the line with "let module" between the other two) -- Daniel de Rauglaudre http://pauillac.inria.fr/~ddr/