caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: kahl@cas.mcmaster.ca
To: alex@baretta.com
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] Literate programming
Date: 3 Dec 2002 15:41:19 -0000	[thread overview]
Message-ID: <20021203154119.6575.qmail@schroeder.cas.mcmaster.ca> (raw)
In-Reply-To: <3DEC7F2F.8070006@baretta.com> (message from Alessandro Baretta on Tue, 03 Dec 2002 10:53:51 +0100)

 > 
 > 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


  parent reply	other threads:[~2002-12-03 15:34 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-12-03  9:53 Alessandro Baretta
2002-12-03  9:59 ` [Caml-list] " Alessandro Baretta
2002-12-03 15:41 ` kahl [this message]
2002-12-03 18:20   ` [Caml-list] " Benedikt Schmidt
2002-12-03 18:29     ` Jeffrey Palmer
2002-12-03 18:42     ` Fred Yankowski
2002-12-05  1:30       ` Yurii A. Rashkovskii
2002-12-05  7:54         ` Jérôme Marant
2002-12-05 14:34           ` David Brown
2002-12-05 15:34             ` Alan Schmitt
2002-12-05 19:44             ` Jérôme Marant
2002-12-06  0:33               ` [Caml-list] Web browser in caml (was Literate programming) Alan Schmitt
2002-12-05 19:52 ` [Caml-list] Literate programming Norman Ramsey

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20021203154119.6575.qmail@schroeder.cas.mcmaster.ca \
    --to=kahl@cas.mcmaster.ca \
    --cc=alex@baretta.com \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).