caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: John Max Skaller <skaller@ozemail.com.au>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] CDK binary release
Date: Fri, 11 May 2001 06:36:31 +1000	[thread overview]
Message-ID: <3AFAFBCF.DD36D9D@ozemail.com.au> (raw)
In-Reply-To: <15098.46839.795500.758294@pc803>

Jean-Christophe Filliatre wrote:

> As the (co)author of ocamlweb, I  think I should say something at that
> point.

>  - ocamlweb is a  literate programming tool; it means  that it is used
>    to produce  a document describing  the all code i.e.  interface but
>    also implementation,  explaining the algorithms,  giving complexity
>    analysis, scientific references, etc.  This document is intended to
>    be read  as an article (not to  be quickly browsed to  find out the
>    name and/or spec of a function) and, for that purpose, it has to be
>    *beautiful*, especially if it involves mathematical material. Knuth
>    invented   TeX  to  support   literate  programming   (among  other
>    applications   like   scientific   publishing),  because   literate
>    programming *needs*  a complex typographic  tool. HTML is  not (and
>    will probably never be) such a tool.

	As the author of a powerful LP tool myself ..
I don't have exactly the same view (although I'm not 
disagreeing entirely either).

	My tool is intended to be able to produce the kind of
document Jean-Christophe described. But it is _also_ capable
of a lot more. It can be used to produce interface summaries,
to generate tables of test results, to generate
code and documentation from compressed specifications,
to produce hyperlinked cross references .. and a whole host
of other kinds of useful 'documents'.

	While I agree that LaTeX is often the only choice
for documenting theory or complex algorithms, a large amount
of software doesn't need such sophisticated documentation.
I personally find LaTeX output very difficult to read,
since my Linux system is hopeless at rendering fonts 
at screen resolution (and I don't own a working printer).

	So I have a strong preference for HTML, since
both my Linux and Windows boxes render the fonts quite well.
It is also much easier to cross reference than a screen
image of paper.

	Interscript produces _both_ HTML and LaTeX (and plain
text as well), from the same source. It hyperlinks HTML
cross references, and uses LaTeX cross-reference for LaTeX.
[And line numbers for plain text!]

	It is also possible to include 'typesetter native' sections,
which only get output to that typesetter: it is ugly, but possible,
to generate nice category theory diagrams with XYpic for LaTeX,
and then 'capture' the image into a JPG file and glue it into
the HTML document. (I wish this could be automated).

	HTML can do some things that LaTeX cannot, apart
from cross-referencing interactively: it can resize and adjust
according to your screen size, and it supports colour on every
system I've seen. And, if you have IE5+, interscript produces
a folding table of contents -- which is kind of hard to do
with LaTeX. :-)

	And of course, you can post your HTML program
on the Web, so others can read annotated versions of your
code without downloading the code .. or installing LaTeX,
DVI viewers, or even a postscript viewer.

	My point is that Literate Programming is a paradigm
in which code and documentation are co-developed, but that
doesn't necessarily imply production of a fine quality
journal quality article, although that should be possible.
It should also be possible to LP commerical programs, or
Ocaml bindings of some C interface, which may be better
served by interactive hyperlinking than nice print.

	I think that means: I see no reason why a tool
like Ocamlweb couldn't _also_ output interface summaries,
and in HTML too, if it were suitably modified to do so.
And this might be a good path, since it would then
'also' be able to produce nice scientific documents.
For most applications, that would be an added bonus,
rather than the main reason to use it...but that ability
is a good incentive to make a deeper committment to LP.

-- 
John (Max) Skaller, mailto:skaller@maxtal.com.au
10/1 Toxteth Rd Glebe NSW 2037 Australia voice: 61-2-9660-0850
checkout Vyper http://Vyper.sourceforge.net
download Interscript http://Interscript.sourceforge.net
-------------------
To unsubscribe, mail caml-list-request@inria.fr.  Archives: http://caml.inria.fr


  parent reply	other threads:[~2001-05-13 20:56 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-05-07  9:06 Fabrice Le Fessant
2001-05-07 16:09 ` Miles Egan
2001-05-07 17:17 ` John Max Skaller
2001-05-09 10:58 ` Markus Mottl
2001-05-09 12:01   ` [Caml-list] About documentation tools David Mentre
2001-05-09 13:18     ` [Caml-list] " Markus Mottl
2001-05-09 18:17       ` John Max Skaller
2001-05-09 17:58   ` [Caml-list] CDK binary release John Max Skaller
2001-05-09 22:40     ` Markus Mottl
2001-05-09 23:19       ` John Max Skaller
2001-05-10  9:19         ` Fabrice Le Fessant
2001-05-10 10:34           ` [Caml-list] CDK Documentation format Dave Mason
2001-05-13 21:26             ` Stefan Monnier
2001-05-10 11:16           ` [Caml-list] CDK binary release Sven LUTHER
2001-05-10 13:18             ` Markus Mottl
2001-05-10 15:42               ` Jean-Christophe Filliatre
2001-05-10 16:08                 ` Thorsten Ohl
2001-05-10 22:53                   ` Markus Mottl
2001-05-10 20:36                 ` John Max Skaller [this message]
2001-05-10 14:01             ` David Mentre
2001-05-10 15:09             ` Patrick M Doane
2001-05-10 15:06           ` Patrick M Doane
2001-05-11 11:58             ` Fabrice Le Fessant
2001-05-11 15:31               ` John Max Skaller
2001-05-11 15:44                 ` Fabrice Le Fessant
2001-05-13 21:33                 ` Stefan Monnier
2001-05-11 17:30               ` Patrick M Doane
2001-05-12  7:46                 ` Fabrice Le Fessant
2001-05-11 23:24               ` Brian Rogoff
2001-05-10 15:49           ` John Max Skaller
2001-05-14  8:21 ` Olivier Andrieu

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=3AFAFBCF.DD36D9D@ozemail.com.au \
    --to=skaller@ozemail.com.au \
    --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).