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 QAA03558; Tue, 3 Dec 2002 16:34:56 +0100 (MET) 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 QAA03636 for ; Tue, 3 Dec 2002 16:34:55 +0100 (MET) Received: from ritchie.cas.McMaster.CA (ritchie.cas.McMaster.CA [130.113.68.10]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id gB3FXl129316 for ; Tue, 3 Dec 2002 16:33:48 +0100 (MET) Received: from schroeder.cas.mcmaster.ca (schroeder.cas.McMaster.CA [130.113.68.214]) by ritchie.cas.McMaster.CA (8.11.6+Sun/8.11.6) with SMTP id gB3FXj500032 for ; Tue, 3 Dec 2002 10:33:45 -0500 (EST) Received: (qmail 6576 invoked by uid 500); 3 Dec 2002 15:41:20 -0000 Date: 3 Dec 2002 15:41:19 -0000 Message-ID: <20021203154119.6575.qmail@schroeder.cas.mcmaster.ca> From: kahl@cas.mcmaster.ca To: alex@baretta.com CC: caml-list@inria.fr In-reply-to: <3DEC7F2F.8070006@baretta.com> (message from Alessandro Baretta on Tue, 03 Dec 2002 10:53:51 +0100) Subject: Re: [Caml-list] Literate programming References: <3DEC7F2F.8070006@baretta.com> Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk > > Is there any literate programming tool supporting Ocaml (well)? FunnelWeb --- http://www.ross.net/funnelweb/ --- is language independent; my main uses for OCaml programming, besides literate documentation itself, are: * Have ``val'' and ``let'' clauses together in the literate source by using alternating incrementally defined macros going into the .mli and into the .ml file. * Write exported type declarations only once, in macros that are invoked in both the .mli and the .ml files. * I find that changes affecting many modules become much easier through the fact that all 50 modules are in a single source file. (However, this setup might not easily work well for a multi-person project, and is not a necessity when using FunnelWeb.) * Parameterized macros for families of (typically small) similar functions --- one argument goes into (at least) the function name, others may go into the parameter list, and definitely some into the implementation. * To a much lesser extent, using parameterised macro setups for signatures shared between parametrically polymorphic and functorised data structures (e.g., for being able to switch the underlying implementation from Map to HashTable and back). Wolfram ------------------- 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