From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id BAA26718; Fri, 17 May 2002 01:22:26 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id BAA26738 for ; Fri, 17 May 2002 01:22:25 +0200 (MET DST) Received: from t2.fast.net.uk (ns1.fast.net.uk [212.42.162.2]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id g4GNMOn22421 for ; Fri, 17 May 2002 01:22:24 +0200 (MET DST) Received: from htec.demon.co.uk (adsl-212-42-169-63.fast.net.uk [212.42.169.63]) by t2.fast.net.uk (8.11.6/8.11.4) with ESMTP id g4GNMMs16859 for ; Fri, 17 May 2002 00:22:23 +0100 (BST) Message-ID: <3CE43F25.7070206@htec.demon.co.uk> Date: Fri, 17 May 2002 00:22:13 +0100 From: Christopher Quinn User-Agent: Mozilla/5.0 (compatible; MSIE5.5; Windows 98; X-Accept-Language: en-us, en MIME-Version: 1.0 CC: caml-list@inria.fr Subject: [Caml-list] Re: Camlp4/OCaml References: <20020515111328.A13106@fr.thalesgroup.com> <193C71C6-67E9-11D6-BB25-0003934491C2@lasmea.univ-bpclermont.fr> <20020515141716.A19272@fr.thalesgroup.com> <20020516070628.GA2334@bik-gmbh.de> <20020516073406.GA1614@fichte.ai.univie.ac.at> <20020516211342.A2924@verdot.inria.fr> <86ptzvrif2.fsf@laurelin.dementia.org> <20020516214412.K2924@verdot.inria.fr> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk How can camlp4 be unimportant or a waste of time! Here are some things I find useful about it: o conditional compilation o ability to add command line options to switch between one's own 'safe' modules and their 'unsafe' versions which can only be done in the case of Arrays and Strings with the standard compiler. o one can always modify one's own copy of the parser, but that's a bother when something in the original changes, and besides, camlp4's extension mechanism allows a compact and manageable format. o no matter how one redefines the syntax, just running the source through camlp4 can reconstruct it in the vanilla form. So no one ever needs to suffer another's idea of perfection! o camlp4 seems to me to be one way to avoid the endless creation of mini-languages for specific tasks that end up trying to do stuff beyond their limited design. Better to start with the expressivity of the likes of caml, maybe cutting down, and augment with p4 extensions. I'm planning to embed some sql style DDL for my project. o I can write code without_the_god_damn_awful_underscore character stressing my hands and use-an-alternative-even (though-I-am-no-fan-of-lisp)! I felt these reasons were compelling enough to justify switching to camlp4 as my default parser. The above doubtless has no bearing on the technical arguments for not having camlp4 in the distribution. I just want to say I think camlp4 is important and indispensible. - chris ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners