Re: Technical reasons for some options taken on design of MathML

juanrgonzaleza@canonicalscience.com wrote:
> Unfortunately, the w3c MathML specification does not explain to readers
> the reasons for the several options taken by its authors.
>
> For example,
>
> - what is the argument to use some like
>
> <apply><divide/><ci>A</ci><cn>2</cn></apply>
>
> instead of shorter
>
> <divide><ci>A</ci><cn>2</cn></divide> ?
>
>
> - What is the reason for
>
> <apply><plus/><cn>5</cn><cn>8</cn></apply>
>
> instead of calculator-like
>
> <apply><cn>5</cn><plus/><cn>8</cn></apply> ?
>   
Actually, the first two drafts of MathML (late 1997, Jan 1998) used the 
latter form (<expr> 5 <plus/> 8</expr>), but with the third (Feb 1998) 
draft, MathML Content shifted over to essentially the current form. I 
seem to recall some comments as to the reasoning behind this shift from 
members of the committee back then, but they may have been personal 
communication rather than messages on the mailing list. Still, if you're 
really interested in the reasoning here, I would recommend comparing 
those early versions - before and after the shift - and you will 
probably see the reasoning spelled out if you read between the lines a 
bit. You will probably find that those things you can find this way are 
still being said in the current version of the standard, but you may not 
realize immediately that they directly address this question.

That said, I was told back then that there had been unofficial reasons 
for this shift, too: quite simply, over the decades, people in the field 
of computer algebra had learned how to design semantically oriented math 
languages, and it was people from this field who were instrumental in 
designing Content MathML. They quickly realized that implementing and 
using the infix version of Content MathML was excessively quirky and 
bothersome, and quite naturally switched over to the clean prefix 
operator / generic apply model that pretty much all computer algebra 
systems - the ones that will process Content MathML - had been using for 
good reasons all along.

 -- Andreas

Received on Thursday, 30 March 2006 23:52:16 UTC