[Prev][Next][Index][Thread]

basic notation



I've finally got a little free time and am in the process of catching
up on mail to the group in the last month.

One of the topics discussed earlier was a notation for integrals:
y = 1 + integral of sin(x) wrt x * cos(x)

I think some others asked this, but let me ask it more directly:
why are we trying to come up with another way of writing integrals
when a short, almost universal notation already exists?  Ie (using
the SGML character for integral):

∫ sin(x) d x

The only problem with this is the 'd' -- it is not really the letter 'd',
but some funny operator on 'x' (delta x).  We we make up a new character,
ⅆ ('differential d' or 'delta d'), then with '∫' and 'ⅆ' being
prefix operators, there is no problem with parsing.

The "wordy" form has problems for multiple integrals (as someone pointed
out) and for integrals such as:
∫ {ⅆ x} \over {sin(x)}

Note that, unlike TeX, the current proposals are parser-based, and with
sensible precedence levels, expressions like the above don't need to
be grouped (although it never hurts to add {}s).  So we could write the
above as:
∫ ⅆ x \over sin(x)

I claim that it is possible, for a vast majority of the notations,
to have a simple notational schema that closely reflects the characters
that people use to display an expression and still be able to semantic sense
out of the notation.  There are some ambiguities dealing with characters
such as 'i', 'e', and 'd', but through the use of *simple* tricks such as
the 'ⅆ' trick above, these are easily resolved.

I plan to elaborate on this more in the next few days.  At the workshop,
I will be presenting what we did in Mathematica to deal with understanding
2d notation, and hope to be able to have a demo of how this might look
in HTML.

Along with the demo Dave is giving, I think that we will ample food for
thought to move the discussion forward to the more challanging parts such
as grouping macros so that different macros can be applied for rendering,
copying to a CAS, speech, etc.

	Neil