<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE message PUBLIC
  "-//MLarc//DTD MLarc output files//EN"
  "../../mlarc.dtd"[
  <!ATTLIST message
    listname CDATA #REQUIRED
    title CDATA #REQUIRED
  >
]>

  <?xml-stylesheet href="../../mlarc.xsl" type="text/xsl"?>


<message 
  url="2002/12/0e39279b83c2eff49d6e78d3e3825c0a"
  from="kahl@c..."
  author="kahl@c..."
  date="2002-12-03T15:34:56"
  subject="Re: [Caml-list] Literate programming"
  prev="2002/12/09bb8b97b68803105f5c7e69cace4d19"
  next="2002/12/10c241f2ed21743f8c2a8b921f2fa9dc"
  prev-in-thread="2002/12/3c23775014b750dc367e485c6bfb2047"
  next-in-thread="2002/12/453c84171b91121c1d7774fc5bf13369"
  prev-thread="2002/12/997b51ec2b0df44ae211697f2b71d18f"
  next-thread="2002/12/09bb8b97b68803105f5c7e69cace4d19"
  root="../../"
  period="month"
  listname="caml-list"
  title="Archives of the Caml mailing list">

<thread subject="[Caml-list] Literate programming">
<msg 
  url="2002/12/5d66a1963f1b171240f82ba50076fc0a"
  from="Alessandro Baretta &lt;alex@b...&gt;"
  author="Alessandro Baretta"
  date="2002-12-03T09:52:49"
  subject="[Caml-list] Literate programming">
<msg 
  url="2002/12/3c23775014b750dc367e485c6bfb2047"
  from="Alessandro Baretta &lt;alex@b...&gt;"
  author="Alessandro Baretta"
  date="2002-12-03T09:58:27"
  subject="[Caml-list] Re: Literate programming">
</msg>
<msg 
  url="2002/12/0e39279b83c2eff49d6e78d3e3825c0a"
  from="kahl@c..."
  author="kahl@c..."
  date="2002-12-03T15:34:56"
  subject="Re: [Caml-list] Literate programming">
<msg 
  url="2002/12/453c84171b91121c1d7774fc5bf13369"
  from="Benedikt Schmidt &lt;s_bschmi@i...&gt;"
  author="Benedikt Schmidt"
  date="2002-12-03T18:18:35"
  subject="Re: [Caml-list] Literate programming">
<msg 
  url="2002/12/603e62d2739e443a0600be0bdd110012"
  from="Jeffrey Palmer &lt;jeffrey.palmer@a...&gt;"
  author="Jeffrey Palmer"
  date="2002-12-03T18:29:48"
  subject="Re: [Caml-list] Literate programming">
</msg>
<msg 
  url="2002/12/529c10a693efdb53c3c01a00fdc17b7b"
  from="Fred Yankowski &lt;fred@o...&gt;"
  author="Fred Yankowski"
  date="2002-12-03T18:42:49"
  subject="Re: [Caml-list] Literate programming">
<msg 
  url="2002/12/8ecbdbbcd0e7f87f5f122c3513558f8f"
  from="Yurii A. Rashkovskii &lt;yrashk@o...&gt;"
  author="Yurii A. Rashkovskii"
  date="2002-12-05T01:26:10"
  subject="Re: [Caml-list] Literate programming">
<msg 
  url="2002/12/3e71211f2fb2f80fd9a238faabbe7baa"
  from="Jérôme_Marant &lt;marant.logatique@f...&gt;"
  author="Jérôme_Marant"
  date="2002-12-05T07:54:55"
  subject="Re: [Caml-list] Literate programming">
<msg 
  url="2002/12/c3a9afcfed188aacae9caa7c1cc3c708"
  from="David Brown &lt;caml-list@d...&gt;"
  author="David Brown"
  date="2002-12-05T14:38:59"
  subject="Re: [Caml-list] Literate programming">
<msg 
  url="2002/12/4eafd888b74bb5d4c9ef7786f8b25746"
  from="Alan Schmitt &lt;alan.schmitt@p...&gt;"
  author="Alan Schmitt"
  date="2002-12-05T15:41:39"
  subject="Re: [Caml-list] Literate programming">
</msg>
<msg 
  url="2002/12/96019f7a352cdb728cae120cd7bed631"
  from="jmarant@n..."
  author="jmarant@n..."
  date="2002-12-05T21:53:23"
  subject="Re: [Caml-list] Literate programming">
<msg 
  url="2002/12/fcb8cdeda6464a54543ed0e9e98a9dcf"
  from="Alan Schmitt &lt;alan.schmitt@p...&gt;"
  author="Alan Schmitt"
  date="2002-12-06T00:34:51"
  subject="[Caml-list] Web browser in caml (was Literate programming)">
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
<msg 
  url="2002/12/aacfeb2a7d9266fcf476130a221c7bc7"
  from="Norman Ramsey &lt;nr@e...&gt;"
  author="Norman Ramsey"
  date="2002-12-05T21:53:30"
  subject="Re: [Caml-list] Literate programming ">
</msg>
</msg>
</thread>

<contents>
 &gt; 
 &gt; 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

</contents>

</message>

