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." _______________________________________________ Axiom-developer mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/axiom-developer
