Re: Using content-MathML for computation and analysis in Science and Engineering

Sorry to butt in so late, but I think we would be remiss not to point out
the rather obvious- namely, that MathML Content is fully equipped natively
to support the functional programming style, but no other style.

More to the point, a sequence of assignments would therefore 'naturally' be
expressed as nested lambda expressions in MathML to preserve semantics.

- Andreas
Am 15.03.2012 15:47 schrieb "Bruce Miller" <bruce.miller@nist.gov>:

> On 03/15/2012 10:24 AM, Peter Murray-Rust wrote:
>
>> Many thanks to all of you (happy to have more comments, of course, but
>> you have
>> answered my concerns).  There's always a requirement for *some* implicit
>> semantics and I think I can see a fairly clear intuitive boundary now.
>>
>> Clearly scope is important and my current implementation uses a symbol
>> table in
>> the immediate parent <mathml/> (I assume that <mathml/> is not nestable,
>> but in
>> case it was this defines a scope.
>>
>> My other question is whether I can include foreign namespaces. I can see
>> things
>> like:
>>
>
> You can, but it's not (purely) MathML anymore...
> if that matters.
>
> As you said earlier in the thread: MathML has good
> declarative power. But to express programming or
> computations, you'll need imperative.
> At least simple things like distinguishing
> the declarative relationship k=0.1 from the
> imperative assignment k=0.1.
>
> It isn't that MML or OM can't do that, but the
> content dictionaries don't provide much.
>
> You'll have an easier time declaring the relationships
> in MathML than expressing the demand for their computations
> --- assuming your computational engine can figure out
> what to do.  However, if you do want to express the computations,
> I would encourage you to at least consider how those could
> be cast in MathML using apply, csymbol etc.  and in particular
> using a content dictionary with symbols for expressing those
> imperatives.  Could be useful to others!
>
> bruce
>
>
>> <apply><eq/><ci>atomSet</ci><**apply><cml:getatoms/><cml:**molecule
>> id="m3"/></apply>
>> <foreach>
>> <!-- iterate through the set -->
>> <apply><eq/><cn>aw</cn><apply>**<cml:getMass/><cml:atom></**apply><apply>
>> </foreach>
>>
>
>

Received on Tuesday, 20 March 2012 08:12:40 UTC