> The only things I can't make MathPiper write are unnecessary
> parentheses,
> like in a + (b-c) , a*(b*c) etc.
What do you think about the idea of a new function called Format which
will allow the format of an expression to be configured using options?
Here is an example with an option called "brackets" being set to
True:
In> Format(a + (b-c), brackets -> True)
Result: a + (b-c)
If you like this idea, what other options for Format do you think
would be useful?
> I have worked with MathPiper since last year. The syntax for pattern
> matching
> and the nice Latex rendering of answers makes the program very well
> suited for creating exercises for the students in algebraic
> manipulations,
> brackets etc.
>
> In the beginning it was hard to understand what "equals" means to
> MathPiper,
> important when creating rule based algorithms, using pattern matching
> ( 100 # transform(a_IsNumber*_b) <-- ...) etc.
>
> Only now I fully understand things like these:
>
> In> 6/3=2
> Result: True
>
> In> x:=2*a*b
> Result: 2*a*b
>
> In> y:=Simplify(x)
> Result: 2*a*b
>
> In> y=x
> Result: False
The = operator is designed to work quickly, so expressions that are
not stored identically in memory are not considered to be equal. The
ViewList function can be used to see how an expression is stored in
memory and it this case it shows that the expression that is bound to
x is stored differently than the expression that is bound to y:
In> ViewList(x)
Result: <A graphical representation of the expression is shown.>
In> ViewList(y)
Result: <A graphical representation of the expression is shown.>
To determine if two expressions are equally mathematically, one
expression is subtracted from the other and the result is simplified:
In> x:=2*a*b
Result: 2*a*b
In> y:=Simplify(x)
Result: 2*a*b
In> Simplify(x-y)
Result: 0
> In>IsNumber(5/10)
> Result: False
>
> In> IsNumber(10/5)
> Result: True
At some point in time it may be a good idea to adjust the meaning or
names of functions like IsNumber, IsRational, etc. to better match
people's expectations of how they should work.
> I read in the developers forum, that a version of MathPiper has been
> made based on JavaScript.
> This sounds interesting, does it mean that one will be able to make a
> web page (e.g. with algebraic exercises) created and corrected by a
> MathPiper engine, without the students having to to install the
> MathPiperIDE program?
> If yes, can the latex rendering also be used on the web page?
Yes, the JavaScript version of MathPiper we are working on will run in
a browser without needing to install MathPiperIDE. Also, web pages
will be able to be made with it that contain exercises which can be
used similarly to what you describe here.
By the way, the developer and user email lists don't currently reflect
the amount of work that is being done on MathPiper. If anyone is
interested in following the day-to-day changes that are being done to
MathPiper, they can be found here:
http://code.google.com/p/mathpiper/source/list
Ted
> If yes, can the latex rendering also be used on the web page?
Yes, the goal is to be able to render latex on a web page.
Ted