[Top][All Lists]

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

Re: [Axiom-developer] Re: hyperdoc

From: Bob McElrath
Subject: Re: [Axiom-developer] Re: hyperdoc
Date: Fri, 14 Jan 2005 14:48:25 -0800
User-agent: Mutt/1.5.6+20040523i

$0.02 (not much, I know)

root address@hidden wrote:
> ah, i see the redesign effort for hyperdoc will be SO smooth and 
> peaceful :-)
> At the moment hyperdoc provides some unique functionality which
> would need to be preserved in the new design. I don't currently
> use TeXmacs but then I don't use any tools except emacs. 
> Whatever we choose, after much debate, I think we need to keep the
> 30 year horizon in mind. Hyperdoc, after 30 years, looks primitive
> but it does do hyperlinking, embedded commands, embedded graphics,
> tear-off tabs, etc. All of that had to be invented because it did
> not exist at the time. We need to invent the future technology based
> on our estimate of what will be useful 30 years from now. On this
> point I expect and encourage much debate.

On this point let me throw in that on the 30-year horizon is XML and
MathML, and there is much effort going into it.  There exists numerous
generalized parsers, the correctness of a document can be verified, and
we can use it NOW.  Consider that:
    1. Maple and Mathematica will output MathML

    2. OpenMath: is XML

    3. Aldor libraries exist to manipulate OpenMath and MathML:

    3. All modern browsers understand XML

    4. Mozilla renders MathML

    5. The STIX project will eventually have fonts for us, for now
        truetype versions of the tex Computer Modern fonts work fine.

    6. Axiom has a setting: ')set output openmath on' that doesn't
        appear to do anything, is there code behind this?

    7. XSL Stylesheets are available to render OpenMath as MathML, in
        the user's browser.  Latex to OpenMath and Latex to MathML
        converters exist too

    8. Browsers and browser plug-ins (XPI) are platform-independent,
        while latex requires a platform-dependent implementation

    9. REDUCE can parse, evaluate, and generate MathML:

TeX basically operates under the principle that "the code *is* the
standard".  e.g. the latex itself defines what is a valid document, and
there is only one implementation.  On the XML side, document structures
are defind with a schema, and many implementations exist to create and
use that document.  The latter leads to better standards, since the
standards evolve faster and have redundant checking.

The sheer amount of effort going into MathML and related technologies is
huge, and I think we ignore it at our peril.  The amount of effort going
into TeXmacs is by comparison small.  Right now latex is more advanced,
but this will not be the case for long.

That said, the tex input for for mathematics $\int_a^b \sin x d~x$ will
be with us for a long time to come.

Considering the weight behind XML and MathML, let me make the following
important point:

    The sooner we switch to XML and MathML-based technologies, the
    better we will be in the long run.

*Everyone* has been skittish on moving to MathML.  Axiom has the
opportunity to push MathML, and simultaneously make a name for itself.
I think we should convert the mathaction site to default to MathML as
soon as it is feasable.

Basing our work on MathML now, will make future transitions easier.
(The choice of MathML/mathaction vs. texmacs may seem trivial now, but
will lead us to consider the OpenMath backend of axiom, rather than
tweaking tex output, etc)

Consider in the far future that a user could download 1) a Mozilla/Gecko
XPI plugin and 2) binary axiom, and that's *it*, and the browser itself
could present a worksheet interface.

P.S. I note that Mike Dewar of NAG is behind OpenMath...

Bob McElrath [Univ. of California at Davis, Department of Physics]

    "Faith: Belief without evidence in what is told by one who speaks 
    without knowledge, of things without parallel." -- Ambrose Bierce

Attachment: signature.asc
Description: Digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]