Michael Reimpell wrote:
> Although I know Mr. Fateman doesn't like the idea of a
> verbose format, I once again suggest using XML: The DTDs are
> a strong specification of the language and human readability
> speeds up the development process (think of error checking,
> unit tests, refactoring).
Using XML to communicate algebraic expressions would be a
very poor choice. Reworking Maxima to use XML would be
exceedingly time consuming, have wide ranging effects,
and yield no additional functionality.
Let's be clear about XML: it is a system for (1) representing
recursive block structured objects, i.e., blocks of blocks, and
(2) verifying that a well-formed block follows a specific
template or pattern, given by the DTD. XML is essentially
an automatic compiler-compiler which is somewhat simpler to
use than, say, yacc, because the class of languages is very
strongly constrained.
For (1), Lisp lists have equal expressive power, are not
verbose and redundant, and fit comfortably with the
computational structure already implemented in Maxima.
I'm not aware of a Lisp equivalent of (2). If the objects
in communication are automatically constructed, a DTD-like
validation doesn't matter much -- invalid objects could only
be the result of programming bugs anyway. But if a DTD-like
function were useful, I'm sure the Maxima developers could
easily implement it.
"Error checking, unit tests, refactoring" -- I notice that
"suitability for automatic processing of algebra" doesn't
appear on this list.
For what it's worth,
Robert Dodier
__________________________________
Do you Yahoo!?
Exclusive Video Premiere - Britney Spears
http://launch.yahoo.com/promos/britneyspears/