While we're on the plot window...



--- Richard Fateman <fateman@cs.berkeley.edu> wrote:

> Although it is sometimes considered impolite to
> question
> why people are programming up anything, I can't
> resist
> asking you why you are doing this.  

No problem.  Most advanced users of maxima will find
MathShield cumbersome and useless, so I don't blame
you for asking.  I'm targeting this for people like
myself and my fellow students, who basically just want
to compute a few integrals now and then and are not so
great at command line stuff. Also, it's a learning
experience for me in terms of coding, tools like cvs,
and how to think about designing and debugging, since
I've never really done any of that before beyond my
intro CS courses. 

> In particular, why
> are you using MathML, 
> which so far as I can tell is
> quite unsuitable for this purpose.
> For example, how
> do you encode
> "interrupt the computation"?
> How do you encode a macsyma program as MathML,
> except
> perhaps as a text string, in which case, what's the
> point?

The way I hope to work this will be somewhat similar
to the way Mathematica has done it, i.e. formatting
things like fractions, square roots, exponents and
integral signs, while allowing people to enter text
commands when it suits their purpose (like
programming.)  From the mathml, perl scripts can then
be used to process the expression down into maxima
syntax, and then the same process in reverse can
translate certain parts of the answer into MathML
(leaving some as text) and send the to the display
widget.  For example, if I were entering an expression
with multiple fractions, exponentials within
exponentials, and other such fun complexities, I would
want to see it displayed in a formatted form in order
to better keep track of it.  However, for other things
like writing macsyma programs, you are correct in
saying that Mathml would be useless and a hinderance,
so in those instances the Mathml would give way to
pure text entry, which would still be allowed. 
Basically this is aimed at making a few of maxima's
abilities easier to use (at least for a user like me)
while hopefully not making more advanced usage
impossible.  

The reasons I picked MathML specifically are that
there has already been some work done on a GTK display
widget for MathML called GTKMathView and the hope that
MathML abilities in Mozilla would eventually open up
some possibilities for easy display of math notebooks
on the web.  

So that's the idea - to add formatting where it is
helpful and add some graphical tools for people who
(like me) are bad at remembering the syntax rules. 
Maybe a good analogy would be the Lyx program - most
advanced users use raw latex or tex because they have
more power and options, but a lot of people use Lyx
because it makes things simpler for them and their
needs are modest.  Lyx allows TeX expressions, but
also provides buttons for basic functionality.  I've
use Lyx quite a bit, and I've found I like that
approach.  You can start out doing things slowly with
the graphical buttons, but the equations are entered
as equations with immediate visual feedback rather
than long, cryptic text strings and as you gradually
learn the TeX commands you get faster.  To me, it
seems like a good way for beginners to approach maxima
too.  Whether I can pull it off or not is something
else again, but it never hurts to try and the worst
that will happen is that I'll know more rather than
less.  :-)




__________________________________________________
Do You Yahoo!?
Yahoo! Auctions - buy the things you want at great prices
http://auctions.yahoo.com/