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=1.1 required=5.0 tests=AWL,SPF_NEUTRAL autolearn=disabled version=3.1.3 Received: from discorde.inria.fr (discorde.inria.fr [192.93.2.38]) by yquem.inria.fr (Postfix) with ESMTP id 4D67BBC77 for ; Tue, 1 May 2007 15:35:41 +0200 (CEST) Received: from nz-out-0506.google.com (nz-out-0506.google.com [64.233.162.230]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id l41DZd9T028448 for ; Tue, 1 May 2007 15:35:40 +0200 Received: by nz-out-0506.google.com with SMTP id l8so2377745nzf for ; Tue, 01 May 2007 06:35:39 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=IiydUf1NVazRiDLYeOESB6vGUWXIKt7miSqEmxXuu8h12OWfzkdbA3zK9AV7VZWnovGipQPNG29vikFn/B8HQm7H0dfN823rs7Z1qc0ZVMhR9jocSAjjSgixMhLuS17e3WybSewpFUcyByWat6dtYR3Hhdy51sN6ulaYD9x/CUM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=aeBbM1QtVtB40uifpVBB5xvMWnaCDlmYBNnnrvplsvwhhT5P1WZ2liZ95Dj+vjYpevE99riPfQfetgFQemCSv5UpVTCvhEweyk7joSJqod4tcn61dHzuxfLfLJG11E1Zi4XgAGX2oHzg+xeCdguZx+KypT7QWU8obG/WOE1pqqU= Received: by 10.114.94.1 with SMTP id r1mr2399171wab.1178026539202; Tue, 01 May 2007 06:35:39 -0700 (PDT) Received: by 10.114.183.15 with HTTP; Tue, 1 May 2007 06:35:39 -0700 (PDT) Message-ID: Date: Tue, 1 May 2007 15:35:39 +0200 From: "Nicolas Pouillard" To: "Joel Reymont" Subject: Re: Upgrading sexplib-2.7.0 to camlp4 3.10 Cc: "Caml List" In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <220DCCF0-FD2D-4116-8E30-992C1AD3FE95@gmail.com> <72EB1952-F2C8-44AC-B1A6-7D8CE5F4A157@gmail.com> X-j-chkmail-Score: MSGID : 4637422B.001 on discorde : j-chkmail score : X : 0/20 1 0.000 -> 1 X-Miltered: at discorde with ID 4637422B.001 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; camlp:01 camlp:01 syntax:01 syntax:01 expr:01 bindings:01 expr:01 bindings:01 wrote:01 patt:01 patt:01 expression:02 ast:02 ast:02 binding:02 On 5/1/07, Joel Reymont wrote: > Nicolas, > [...] > This expression has type > (Camlp4.PreCast.Syntax.Ast.patt * Camlp4.PreCast.Syntax.Ast.expr) > list > but is here used with type Camlp4.PreCast.Syntax.Ast.binding list Before bindings was just a (patt * expr) list, now there is a binding type: bi := (* empty *) | patt = expr | bi1 and bi2 So where you see (p, e) you can write <:binding< $p$ = $e$ >>. You can put a binding in a let, for instance: <:expr< let $bi$ in $e$ >> if you want put a list of bindings you can write <:expr< let $list:bis$ in $e$ >>. But perhaps it should be better to avoid useless conversion to/from lists. -- Nicolas Pouillard