[Maxima] Re: MathML etc, was: fork in Lisp? was: Maxima servermode: stability of commands....
fateman at cs.berkeley.edu
Wed May 17 11:01:39 CDT 2006
----- Original Message -----
From: "Robert Dodier" <robert.dodier at gmail.com>
To: "Richard Fateman" <fateman at cs.berkeley.edu>
Cc: "Michele Slocovich" <msloco at gmail.com>; "Gerd Kortemeyer"
<korte at lite.msu.edu>; "maxima" <maxima at math.utexas.edu>
Sent: Wednesday, May 17, 2006 8:52 AM
Subject: MathML etc, was: fork in Lisp? was: Maxima servermode: stability of
On 5/17/06, Richard Fateman <fateman at cs.berkeley.edu> wrote:
> In lisp this would be (sin x). But that could convey much more
> information than MathML because of the context
> in ANSI Common Lisp. In Maxima, sin(x) implies
> a bunch of semantics, simplification rules, etc. In MathML
> it conveys essentially nothing beyond "single-argument trig function"
Transmitting MathML doesn't introduce any content or context
problems not already present in s-expressions.
If I send ((%SIN) $X), there's no guarantee that the recipient
is going to interpret it in the same way as Maxima.
It is true that if you send ((%SIN) $X) to another program it
could be interpreted as anything whatsoever, but presumably
it would be known in advance that it was from Maxima by
prior agreement. When you send some MathML equivalent to
sin(x), you could have agreed that it was MathML, but you
still wouldn't know --- radians or degrees? So MathML is
less informative. You still need another agreement.
Indeed, a reasonable way of using MathML for an expression
would be to include, in the comments, the Maxima equivalent.
Then when transmitting or receiving MathML, toss out the
whole communication except for the comment, and parse that.
XML in general is an ridiculously verbose half-baked
reimplementation of Lisp, true enough. So what?
When the goal is to get something working which can
talk to other programs, you just have to put aside your
personal feelings and get on with it.
The problem is, except for small integers,
and elementary arithmetic on them, you can't really
talk about much in content MathML reliably, so far as I can tell.
It is trivially to translate from Lisp or Maxima into some
MathML-like form, but it is in general losing information.
More information about the Maxima