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.4 required=5.0 tests=SPF_NEUTRAL autolearn=disabled version=3.1.3 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 76BEABC0A for ; Sun, 1 Apr 2007 19:08:05 +0200 (CEST) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.171]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id l31H85Fn024171 for ; Sun, 1 Apr 2007 19:08:05 +0200 Received: by ug-out-1314.google.com with SMTP id k3so1404492ugf for ; Sun, 01 Apr 2007 10:08:04 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:in-reply-to:references:mime-version:content-type:message-id:cc:content-transfer-encoding:from:subject:date:to:x-mailer; b=P10ecnRr3EKeYJY68vTner/N40jfKMGNDbEoEdjA/MAtUE41HqnpAa7KXVj78DoeKfH5F0JGhyvhPB0fRcXM2TIZCa9wx7IGxYKIRmtAaOdjU3Ue3389NaIHVj/DIedzDGIeS7cI0g84HhFZbxEXVeAHcHx4PUc1iTz0+9y7Zz0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:in-reply-to:references:mime-version:content-type:message-id:cc:content-transfer-encoding:from:subject:date:to:x-mailer; b=Xkk0x3FvqSDxea4uvCffY4MzJ6Cs2Y1bauKTxcBcqvshY6vYHcFdP3BR6r8oefZKehZXogsxEC2AH5OdmTxGrnC+uGCq3kHIxdB7rWCtr321KXwxuS5aNYjqhHke0AKVtDcjeV6W8TvnrFFNw2OBJd8WtlZNi7IiVLpmWKQUh7A= Received: by 10.67.96.1 with SMTP id y1mr3626462ugl.1175447284848; Sun, 01 Apr 2007 10:08:04 -0700 (PDT) Received: from ?192.168.1.34? ( [81.33.210.112]) by mx.google.com with ESMTP id 55sm5956389ugq.2007.04.01.10.08.03; Sun, 01 Apr 2007 10:08:03 -0700 (PDT) In-Reply-To: References: <4C8BE613-EE4E-4A60-B793-1406BC0D7672@gmail.com> Mime-Version: 1.0 (Apple Message framework v752.3) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: Cc: "Caml List" Content-Transfer-Encoding: 7bit From: Joel Reymont Subject: Re: [Caml-list] New camlp4 and q_MLast Date: Sun, 1 Apr 2007 18:08:03 +0100 To: "Nicolas Pouillard" X-Mailer: Apple Mail (2.752.3) X-j-chkmail-Score: MSGID : 460FE6F5.000 on concorde : j-chkmail score : XXX : 5/20 1 0.000 -> 3 X-Miltered: at concorde with ID 460FE6F5.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; camlp:01 mlast:01 camlp:01 ocamlc:01 -pp:01 mlast:01 cmo:01 threads:01 expr:01 expr:01 flatten:01 flatten:01 2007,:98 wrote:01 rec:01 On Apr 1, 2007, at 5:56 PM, Nicolas Pouillard wrote: > Not gone just renamed (by some very descriptive long name). > > Generally one now should use camlp4*f commands (f for full) I'm trying to translate this command line: $(OCAMLC) -c -I +camlp4 -pp '$(CAMLP4O) q_MLast.cmo -loc loc' $< I guess I'll have to go through all the recent camlp4 threads since I need to translate the following bits: (* Build basic ASTs *) let str_ast a = <:expr< $str:a$ >> ;; let tuple_ast (a,b) = <:expr< ($a$,$b$) >> ;; let str_tuple_ast (a,b) = <:expr< ($str:a$,$str:b$) >> ;; let list_ast el = List.fold_right (fun x l -> <:expr< [$x$ :: $l$] >>) el <:expr< [] >> ;; (* Translate TAL expression to method-send expression AST *) let rec translate_expression ?(base=None) s = let extend_base x = match base with | Some (e,var) -> (<:expr< $e$#$x$ >>,var) | None -> (<:expr< $lid:x$ >>, x) let xml_element_ast e attr children = <:expr< Xml.Element ($str:e$, $attr$, $children$) >> ;; let exp = list_ast exps in <:expr< List.flatten $exp$ >> let tagast = xml_element_ast e vattrs <:expr< subtags_octalvar__ >> in let taglistast = list_ast [ tagast ] in (<:expr< let subtags_octalvar__ = $childrenast$ in if $exp$ then subtags_octalvar__ else $taglistast$ >>,nvars,true) let repexp = <:expr< List.map (fun $lid:itemname$ -> $sub$) $exp $ >> in if sublist then (<:expr< List.flatten $repexp$ >>,fvars,true) etc. This all part of the Octal package. Any help will be appreciated! :D Thanks, Joel -- http://wagerlabs.com/