From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id JAA29231 for caml-redistribution; Mon, 6 Oct 1997 09:09:16 +0200 (MET DST) Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id RAA01700 for ; Sat, 4 Oct 1997 17:10:03 +0200 (MET DST) From: kahl@diogenes.informatik.unibw-muenchen.de Received: from margaux.inria.fr (margaux.inria.fr [128.93.8.2]) by concorde.inria.fr (8.8.7/8.8.5) with ESMTP id RAA13760 for ; Sat, 4 Oct 1997 17:10:03 +0200 (MET DST) Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by margaux.inria.fr (8.7.6/8.7.3) with ESMTP id RAA07866 for ; Sat, 4 Oct 1997 17:10:02 +0200 (MET DST) Received: from auriga.informatik.unibw-muenchen.de (auriga.Informatik.UniBw-Muenchen.de [137.193.62.10]) by concorde.inria.fr (8.8.7/8.8.5) with ESMTP id RAA13756 for ; Sat, 4 Oct 1997 17:10:02 +0200 (MET DST) Received: from diogenes.informatik.unibw-muenchen.de (diogenes.Informatik.UniBw-Muenchen.de [137.193.60.73]) by auriga.informatik.unibw-muenchen.de (8.8.5/8.8.5) with SMTP id RAA16082 for ; Sat, 4 Oct 1997 17:10:25 +0100 (GMT) Received: (qmail 8619 invoked by uid 210); 4 Oct 1997 15:14:17 -0000 Date: 4 Oct 1997 15:14:17 -0000 Message-ID: <19971004151417.8618.qmail@diogenes.informatik.unibw-muenchen.de> To: tews@tcs.inf.tu-dresden.de CC: caml-list@margaux.inria.fr In-reply-to: <199710011002.MAA15151@ithif18.inf.tu-dresden.de> (message from Hendrik Tews on Wed, 1 Oct 1997 12:02:25 +0200) Subject: Re: type declaration in */mli & *.ml Sender: weis Hendrik Tews writes: > I am writing again about a topic we had on the list last year > (cf. http://pauillac.inria.fr/caml/caml-list/0676.html and > http://pauillac.inria.fr/caml/caml-list/0680.html). > As Xavier writes it is a pain that in some circumstances > (specifications of types and signatures) the same code has to be > written twice, first in the specification and then in the > implementation. > Is there any solution to this? > Has anybody tried to include parts of an interface into an > implementation (for instance by means of a preprocessor)? I am using FunnelWeb (a language-independent literate programming system) for almost everything, and it is a nice solution to this problem, too. For my current project, I edit a single FunnelWeb file (currently >800k) in the folding-mode of Emacs, and a single run of FunnelWeb (8 seconds on a SparcStation 20) produces a Makefile, 48 OLabl modules with interfaces, among these 4 lexers and 4 parsers, several special auxiliary files, and a LaTeX file containing 400+ pages of documented code. The documented code in the literate programming style can be very nice and useful, but even if you do not want to go literate, FunnelWeb is still a very useful preprocessor (I must admit that I am sometimes lazy on documentation, too...) FunnelWeb is available via: URL: http://www.ross.net/funnelweb/introduction.html There is also a modified version (which I haven't tried yet) that allows HTML output and line directives: URL: http://www.physics.uq.oz.au:8001/people/coates/funnelweb.html Happy weaving! Wolfram