About SymbolicWare

The Sym application is an attempt to see how much of symbolic mathematics can be done on a computer. Of course, there are already some really impressive tools that will do a variety of the "hard" parts of calculations. The goal here wasn't to reproduce any of that.
The existing tools are a good addition to paper and pencil calculation, but I'm not sure that they really avoid having to do parts of calculations using paper and pencil. Some of the things you want to do are really fairly simple things. You might just want to reverse a + b to b + a, or put a couple of terms over a common denominator, or replace a term with something else everywhere that the term occurs. Others are a bit more complicated.
You can see examples of this if you look at the Getting Started module in the GettingStarted example file and the Manipulating expressions module in the MathExamples file. The first is just a simple example of solving linear equations and the second is a little more complicated example.
Turns out (not surprisingly) that this has been a really hard problem to solve. It needed to be flexible - different users will want to do pretty much that same mathematics using different notations and different steps. It needed to be extendable - users needed to be able to create their own libraries of mathematical objects and create the functionality to manipulate those objects. At the same time, the expressions that you build need to look the way that their supposed to look, not just be presented as strings. That means you have to include the ability for users to define how an expression is rendered.
I ended up pretty much creating another programming language (I know - there are already to many, but there really wasn't a choice here). And a type system and type inferencer (this part was hard). And a debugger (a bit unusual) and unit test platform.
Perhaps surprisingly, I think the approach taken here is actually starting to work. Things may even be far enough along that there might be people out there that could benefit from using Sym even though there is still a lot to do.
But it's also been clear from the beginning that building something like this is way to big a project for one person. So this version is just the foundation, it's still an early beta version. At this point, only a small fraction of the mathematics that could be created has actually been implemented. But my own experience developing and using Sym suggests that a lot more should be possible.
For example, it should also be possible to interface to other systems - ones that can do the really "hard" parts of a calculation. This is still in development, but shouldn't be to far away.
The current version is free for everyone. If at some point we do get to a full, released version of Sym, it will still be free to everyone in the academic community and it will stay that way permanently.
Try it and let me know what you think.