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 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 B9AB2BC6B for ; Thu, 29 Mar 2007 00:36:34 +0200 (CEST) Received: from smeltpunt.science.ru.nl (smeltpunt.science.ru.nl [131.174.16.145]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id l2SMaXHI023792 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for ; Thu, 29 Mar 2007 00:36:34 +0200 Received: from tandem.cs.ru.nl [131.174.142.18] (helo=tandem.cs.ru.nl) by smeltpunt.science.ru.nl (8.13.7/5.11) with ESMTP id l2SMaXhU007901 for ; Thu, 29 Mar 2007 00:36:33 +0200 (MEST) Received: from tews by tandem.cs.ru.nl with local (Exim 4.63) (envelope-from ) id 1HWgkr-0004cU-VO for caml-list@inria.fr; Thu, 29 Mar 2007 00:36:33 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <17930.60913.933794.204656@tandem.cs.ru.nl> Date: Thu, 29 Mar 2007 00:36:33 +0200 To: caml-list@inria.fr Subject: camlp4 3.10 questions X-Mailer: VM 7.19 under Emacs 21.4.1 From: Hendrik Tews X-Scanned-By: MIMEDefang 2.56 on 131.174.16.145 X-Miltered: at concorde with ID 460AEDF1.002 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; camlp:01 hendrik:01 tews:01 tews:01 camlp:01 sig:01 syntax:01 sig:01 syntax:01 functors:01 howto:01 functor:01 expander:01 cmx:01 hendrik:01 Hi, while doing my little camlp4 printer exercise I had the following questions: 1. What is the difference between Register.Printer and Register.OCamlPrinter? I guess it boils down to the difference between Sig.Syntax and Sig.Camlp4Syntax? 2. There are various maps and folds on asts in Sig.Camlp4Ast. How can I use them? 3. Register.declare_dyn_module puts all modules in a queue together with a function that contains some delayed side effects. Where are these function called? 4. I have the impression that the users Make functors (such as in the printer HOWTO) are always applied to the same argument, namely PreCast.Syntax. Why do I have to give a functor then? 5. I saw Camlp4OCamlOriginalQuotationExpander, presumably this is a quotation expander for quotations in original syntax. Is this already complete? 6. There are various camlp4's: camlp4 camlp4o camlp4of camlp4oof camlp4orf camlp4r camlp4rf camlp4boot camlp4prof. Could somebody explain the nameing convention? camlp4boot is the one used for bootstrapping or compiling the camlp4 sources? What is camlp4prof? 7. Is there an equivalent to the old pa_o_fast.cmx? 8. How can I process multiple files with the same camlp4 process? Bye, Hendrik