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=2.1 required=5.0 tests=AWL,DNS_FROM_RFC_POST, 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 mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id 6E32FBB84 for ; Wed, 7 Jan 2009 23:50:46 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: As8BAOHAZEnRVdoUlGdsb2JhbACTTz4BAQEBCQkKCQ+vFoEBi10BAwEDhXI X-IronPort-AV: E=Sophos;i="4.37,228,1231110000"; d="scan'208";a="33427343" Received: from mail-bw0-f20.google.com ([209.85.218.20]) by mail4-smtp-sop.national.inria.fr with ESMTP; 07 Jan 2009 23:50:46 +0100 Received: by bwz13 with SMTP id 13so23843349bwz.3 for ; Wed, 07 Jan 2009 14:50:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=ccCnCAOKbZJbg4GxEMEIgEck+ifmDgqV1sUmmvNYw2g=; b=D5RPAscqfaQV2CTPa7SVMsO4tx69ElEP+FbZ2gM3eUFVA3sT+XDW50CXvvJ09e/gJp IyZ1xpbNwPJ4saXngRW4gdQwv+PKx4LNPFFadudsBQC/abqgYLsqtt7MeriRjsjiwErf SSX3kDVWCY2lNpbJNa1LxW0BS7wk8Re2StMe8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references; b=mkHqMpu0+PgevY+Fy1lcWOY/ZTeYehZkDympbyQRe5P5o/wm7kH0B0GP25ezZjSfu8 NnatvgXbR7pTSmwN/UP5uSuujJrAruZrzb1e3jdRtOoa4+mJFhUPmbt+okh1TKJTE9tJ TcArfjZ/Qmjssk71WoOjoFt4zJVcpfMhWMtSM= Received: by 10.223.106.12 with SMTP id v12mr16991086fao.16.1231368645529; Wed, 07 Jan 2009 14:50:45 -0800 (PST) Received: by 10.223.113.73 with HTTP; Wed, 7 Jan 2009 14:50:45 -0800 (PST) Message-ID: <4b5157c30901071450m7ab87d93yeb446dfee086b5f4@mail.gmail.com> Date: Wed, 7 Jan 2009 23:50:45 +0100 From: "Paolo Donadeo" To: "OCaml mailing list" Subject: Re: [Caml-list] Parsing simple type expressions In-Reply-To: <524796.35746.qm@web27006.mail.ukl.yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <4b5157c30901060603k6d0589d2m469b170dc5ec7c8e@mail.gmail.com> <007001c97011$33012dc0$99038940$@com> <4963C8AD.8010206@ens-lyon.org> <524796.35746.qm@web27006.mail.ukl.yahoo.com> X-Spam: no; 0.00; matthieu:01 camlp:01 camlp:01 syntax:01 ocaml:01 wiki:01 parsing:01 caml-list:01 expressions:04 problem:05 extension:06 programmer:07 example:10 suspected:10 libraries:11 Thanks, Matthieu and Jake, this is exactly what I had in mind. At the end, Camlp4 was the right solution to my simple problem, as I suspected from the beginning. Camlp4 is an extremely powerful tool and it's a pity it couldn't be used by everyone for lack of documentation. What is really needed, in my opinion, is a description of *what* one can do with Camlp4 without being an expert. For example a list of all syntax extension available out of the box might spread the use of Camlp4 among common programmers. Searching in the source code I can see things named: Camlp4ExceptionTracer, Camlp4FoldGenerator, Camlp4MetaGenerator, and so on. The names sounds great but... what is it? The source code is cryptic to every "regular" OCaml programmer like me. The same considerations apply to all the (many!) libraries available and related to Camlp4. What is needed to spread the use of this tool are some... recipes, like those available for ocamlbuild in its wiki pages. -- Paolo ~ ~ :wq