[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Axiom-developer] RE: latex and noweb
From: |
Bill Page |
Subject: |
[Axiom-developer] RE: latex and noweb |
Date: |
Fri, 4 May 2007 22:00:22 -0400 |
On May 4, 2007 1:24 PM Tim Daly wrote:
>
> I wasn't suggesting that the domain and functions be only
> implemented in spad. I was suggesting that the interface be
> well specified so it could be implemented in a compatible
> way in lisp/spad/aldor/perl/whatever. That would mean that
> the access and algorithms would be independent of the
> machinery. Which means we can think and debate at a much
> higher level.
>
Yes I agree with that approach. However since this is Axiom we
are talking about it makes good sense to me to use Axiom/Spad
concept of "domain" as the underlying model - a domain being
a collection of objects of the same type with a common set of
methods (interface). Whether this is implemented in Spad, Aldor,
Lisp, Boot or some other language for reasons of efficiency or
convenience is of lesser importance.
With respect to possible implementations of an HTML Document
Object Model in Axiom, the following Aldor package by William
Naylor should be of some interest:
http://www.aldor.org/mediawiki/index.php/MathML_library
http://www.cs.bath.ac.uk/~wn/AldorXML/
and Yannis Chicha's work on representing Aldor code in XML form:
http://www.aldor.org/mediawiki/index.php/Aldor_to_XML
Given the work that Arthur Ralfs has recently done on MathML
in Axiom:
http://wiki.axiom-developer.org/MathMLFormat
and the work that Martin Rubey has done with access to the
Axiom database and displaying the information as a browser
web page:
http://wiki.axiom-developer.org/SandBoxHyperDocReplacement
I think it makes good sense to abstract HTML/XML documents as
a domain in Axiom.
Now, extending that to something a little more ambitious -
a document model for literate programs also seems like a
reasonable goal. A literate program has some structures
(e.g. the chunk structure, and possibly a structure over the
definition and use of identifiers, etc.) over and above the
structure of a conventional documment. As a domain in Axiom,
LiterateProgram (or Pamphlet) objects might provide for example,
the tools necessary to render the content as an XHTML document
with MathML encoding for display in a browser or as a LaTeX
document for printing (weave functionality), as well as tools
to extract code (tangle functionality), plus a number of other
things such Tim has already suggested earlier in this thread.
That might also be useful to define a structure that groups
LiteratePrograms(Pamphlets) together into larger and more
general objects, e.g. "Booklet" as Tim has described elsewhere.
I think a more abstract approach like this would put Axiom in
a good position to eventually exploit higher level literate
programmer tools than just noweb.
Regards,
Bill Page.
PS. Different subject: I found it interesting to read that
Naylor observed the following relation between Axiom (Spad)
and Aldor:
"Factorisation code
Axiom factorisation code (spad code) has been converted into
aldor code. On a small test (38 decimal digits, 5 factors)
the aldor code returns the solution in roughly 1/2 of the time
taken by Axiom."