Hi Dylon,<br>I am the KAlgebra maintainer for now and I'm glad to see anyone interested on such a tool. :P<br><br>I am not planning to change any underlying technologies such as the parser or anything similar by now (it is not being revamped), but it would be great if you wanted to take a deep look at the project and help us take it forward, providing new interfaces and ideas to make it more useful to users.<br>
<br>If what you plan is to make a frontend for maxima, well, this is a whole different project and you might want to talk to koffice guys, because there the interesting thing would be to have a KOffice maxima flake, which would be great too.<br>
<br>You don't want to write yet another CAS, probably.<br><br>Thanks,<br>Aleix<br><br><div class="gmail_quote">2008/12/24 Dylon Edwards <span dir="ltr"><<a href="mailto:integr8e@gmail.com">integr8e@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">I'm working on writing a fontend for computer algebra systems -- like
Maxima -- to learn KDE+Qt, however, I'm very new to the programming
world. It seems there are plenty of excellent free software CAS's, but
nobody's developed an intuitive interface to any of them yet. Maxima
does an awesome job of formatting its solutions at the command line,
but many people are weary of using consoles; I would like to develop an
application that would make using them as easy as (or easier than)
their commercial counterparts, such as Maple and Mathematica. Such an
application will take some time to develop, especially by a new
programmer, but I'm prepared to spend a while on it, and have actually
been working on it for about a year now (but only an upcoming 4th
semester sophomore, working on my 1st Bachelor's at a local university,
I haven't generated as much code as I would have liked). My GUI would
be much further along than it is, but until last week, I was writing my
own CAS because I was unaware of Maxima.<br>
<br>Some of my goals for my CAS were:<br> - It needed arbitrary precision<br> - It should be able to break the solution down into easy-to-understand steps<br> - It needed a clear, natural syntax that would be easy for anyone to pick up<br>
<br>For the 1st, I noticed floating point calculations were not very accurate, and had begun working on my own version of what I've now come
to know as Java's LargeDecimal class, which broke the operations down
into steps and stored the result of each sub-calculation in Strings. I
thought I'd discovered something revolutionary until I learned about
LargeDecimals a month ago (which made such operations much easier) :P<br>
<br>I developed a good algorithm for the 2nd; basically, it solved an
infix expression as we do, parsing through it using the order of
operations to determine whether to perform each calculation. The
parser would pass through the expression multiple times until it solved
the whole thing, printing the current state of the expression upon the
completion of each pass. Pretty simple stuff, if you think about it,
but for somebody who had just completed his 2nd semester, the algorithm
took some work. I'm still not aware of anything like it, and being so
simple, I will probably try to get Maxima's devs (or those of whichever
CAS I decide to use) to implement it.<br>
<br>The 3rd is self-explanatory.<br><br>In the last week, I've taught
myself C++ and have begun studying, more in depth, Qt and XML.
Originally, I had planned to write the application in QtJambi, but have
become aggravated with its current state and have decided C++ would be
better.<br>
<br>My basic plan is to obtain a user's expression from a TextEdit
widget, pass it to Maxima, which will be embedded and running in the
background, have it solve and export the solution in MathML (which it
already has a class for), and send the solution to KFormula's
FormulaElement class which will draw the nicely formatted solution
beneath the user's expression on the canvas. Does that sound like a
plan?<br>
<br>Also, if any of you would be interested in helping me get something
off the ground, that would be cool too; I would be more than willing to
help revamp KAlgebra, if its devs like the direction I'm heading, or I
could create a separate project, it doesn't matter to me; I'm of the
opinion that working with people on already existing projects is good,
and that I should only branch out and start my own thing if absolutely
necessary (thus the reason I've decided to go the Maxima route). I
have a MUCH larger vision for my application than I've included with
this email, but I figured this is probably a good starting point.<br>
<br>Hello World!<br clear="all"><font color="#888888"><br>-- <br>Dylon Edwards<br>SSWJ - Stay(ing) Strong With Jesus, Always!<br>
</font><br>_______________________________________________<br>
kde-edu mailing list<br>
<a href="mailto:kde-edu@mail.kde.org">kde-edu@mail.kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/kde-edu" target="_blank">https://mail.kde.org/mailman/listinfo/kde-edu</a><br>
<br></blockquote></div><br>