caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [ANN] syncweb, literate programming meets unison
@ 2009-06-10 19:21 Yoann Padioleau
  0 siblings, 0 replies; only message in thread
From: Yoann Padioleau @ 2009-06-10 19:21 UTC (permalink / raw)
  To: caml-list


Dear list,

I am pleased to announce the first public release of syncweb.
>From the introduction in the readme.txt:

syncweb is a command line tool enabling programmers to use the
literate programming[1] development methodology, using the noweb[2]
tool, while still being able to modify the generated files
from the literate document. syncweb provides a way to
"synchronize" the possibly modified original document with its
possibly modified views with an interface similar to unison[3]. In
addition, syncweb synchronizes data at a fine grained level by
computing and storing md5sum of the different chunks.

Note that literate programming is different from using javadoc, or
doxygen, or ocamlweb. Noweb, and syncweb, do not provide the same kind
of services. Literate programming allows programmers to explain their
code in the order they think the code will be better understood, and
allows among other things to explain code piece by piece with the
possiblity to present a high-level view first of the code. Moreover,
because noweb is essentially a macro-processing language, one can also
"program" at the noweb level, which can sometimes overcome some of the
limitations or the language of the documented program. For instance,
for OCaml programs, using noweb frees the programmer to declare the types both
in the .mli and .ml file, avoiding tedious copy-paste and maintenance
problems. One can also do some forms of Aspect-oriented Programming
at the noweb level.

The code is available here:

  http://aryx.kicks-ass.org/~pad/software/project-syncweb/syncweb-0.2.tgz

The documentation here:

  http://aryx.kicks-ass.org/~pad/software/project-syncweb/readme.txt

One can also see a demo of what it looks like to edit a noweb/syncweb file
and what kind of output noweb and syncweb produces:

The literate document: 
  http://aryx.kicks-ass.org/~pad/software/project-syncweb/demo/distribution.ml.nw.html
The generated but "synchronizable" ml code:
  http://aryx.kicks-ass.org/~pad/software/project-syncweb/demo/distribution.ml.html
The generated pdf:
  http://aryx.kicks-ass.org/~pad/software/project-syncweb/demo/distribution.pdf




[1] http://en.wikipedia.org/wiki/Literate_programming
[2] http://www.cs.tufts.edu/~nr/noweb/
[3] http://www.seas.upenn.edu/~bcpierce/unison/


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-06-10 19:20 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-06-10 19:21 [ANN] syncweb, literate programming meets unison Yoann Padioleau

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