Charlie
Can I also point you in the direction of Leo
(http://personalpages.tds.net/~edream/front.html). It does pretty much what
your LP++ minisample does but with "live", editable code. Leo uses an
outliner metaphor rather than a folding editor metaphor, but that's just a
view (right?). The only missing feature is support for rich text in the
"documentation nodes" to enable a weave feature. Ed Ream, Leo's developer
sees this as an advantage: as you can manipulate the literate programme
directly in Leo, there is no need for a read-only format. Indeed, because
the Leo file format is XML, you can use XSLT/FO to generate HTML or
printable LPs (as has been done, at least as a prototype by Joe Orr (see
http://www.jserv.com/jk_orr/xml/leo.htm). It has to be said that tangling
works almost flawlessly, and you'd have to put a lot of work into a tool
that does this as well and intuitively as Leo.
As a university teacher who wants to use LP as a format for describing Java
programs to students, the need for a browsable/printable format which can
use rich text in the documentation chunks is not so easily dismissed. I
often need to include pictures and styles like bulleted lists, etc, in my
expositions. Furthermore, I would be nervous of exposing novice programmers
to a tool like Leo on top of a Java IDE (albeit a simple one, I use BlueJ
http://www.bluej.org) and everything else they need to learn. So a web
browser view with expandable hyperlinks or a word document for printing and
off-line study would be very attractive. Maybe this community could make the
most progress by agreeing on a common DTD for the LP itself, lobbying for
rich-text in Leo's documentation nodes?
It's great that this mailing list has finally woken from its long slumber!
Chris
P.s Another tool that is worth looking at is the Java Elucidator
(http://elucidator.sourceforge.net/) being developed by Thomas Vestdam and
others at Aalborg University in Denmark. The framework is complex, but the
output is much like your proposal for LP++.
p.p.s As a staring point for a Leo extension, another open-source python
project called docutils (http://docutils.sourceforge.net/) has a deliverable
called reStructuredText which allows simple markup, such as might be used in
plain-text email, to be converted into nicely formatted text.
reStructuredText is intended as a pragmatic format for documenting Python
doc comments (equivalent to JavaDoc) in a form that can be processed to
produce nice printable API or user documentation. The markup is simple and
unintrusive enough to plug straight into Leo, and, because the processors
are written in Python, they potentially fit right in as a plug-in.
p.p.p.s I have cross posted this to Ed Ream and Thomas Vestdam to widen the
discussion.
Dr Chris P. Jobling [C.P.Jobling@...]
School of Engineering
University of Wales Swansea, Singleton park, Swansea SA2 8PP, UK.
Tel: +44 1792 295580; Fax: +44 1792 295676
WWW: www.engineering.swan.ac.uk
-----Original Message-----
From: Charlie McDowell [mailto:charlie@...]
Sent: 25 November 2002 20:26
To: xml-litprog-l@yahoogroups.com
Subject: [xml-litprog-l] WYSIWYG LP
I absolutely agree. I'm currently working on a WYSIWYG literate programming
and the underlying
storage model of the program is XML (inspired by your xmLP work).
You can read a bit about what I'm doing here:
http://www.soe.ucsc.edu/~charlie/projects/litprog/
At 09:27 PM 11/24/2002 +0000, you wrote:
>I wish I had as nice a front end for
>xmLP. I've often felt that the lack of nice front-ends has hurt the
>take-up of
>LitProg (& Emacs does not count as a nice front-end, not for the 95%
>majority).
>An ideal LitProg editor would be WYSIWYG, so that what you see when editing
is
>equivalent to what you would get with a traditional LitProg tool after
>"weaving" the documentation.
Charlie McDowell, Professor (831) 459-4772 (w)
Computer Science Department (831) 427-2076 (h)
University of California (831) 459-4829 (fax)
School of Engineering http://www.cse.ucsc.edu/~charlie
1156 High Street
Santa Cruz, CA 95064-1077
Yahoo! Groups Sponsor
ADVERTISEMENT
====
Unsubscribe: xml-litprog-l-unsubscribe@yahoogroups.com
Post message: xml-litprog-l@yahoogroups.com
http://groups.yahoo.com/group/xml-litprog-l/
Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.