Shane Blackett wrote:
> Hi,
>
> I think I prefer option four, although I am worried that
> this is an uncommon syntax and that if our error parser isn't good
> that things could easily get confusing.
>   
The other problem which has arisen is what to do with degree qualifiers. 
e.g. do we represent...
<apply><diff/>
  <bvar><ci>x</ci></bvar>
  <degree><cn units="dimensionless">2</ci></degree>
  <ci>y</ci>
</apply>
as
1) d(y, 2)/d(x)
2) d^(2)(y)/d(x)^(2)
3) d(y, degree(2))/d(x)
4) d(y)/d(x, degree(2))
5) d(y)/d(x, 2)

Note that degree could theoretically be a complicated expression 
(although I doubt any integrators would be able to deal with the model 
in this case, e.g. PCEnv can only integrate for constant degree 
derivatives), and this language needs to be parsed back to MathML, so it 
needs to be unambiguous.

2 is the most similar to what people would write on paper, but it is 
very verbose, as you have to repeat the same expression twice (and we 
would have to compare the expressions and give an error if they were 
different, which seems silly).

I personally am leaning towards just letting the degrees get written out 
with the qualifier tag (this could produce either 3 or d(degree(2), 
y)/d(x), depending on the order in the MathML).

Best regards,
Andrew

_______________________________________________
cellml-discussion mailing list
[email protected]
http://www.cellml.org/mailman/listinfo/cellml-discussion

Reply via email to