The Math Manipulator was one of the first significant projects I’ve started by myself. It features a new intuitive user interface to manipulate algebra.
I’ve been thinking about expanding this math manipulator application. In the next installment, the data structures and algorithms will be completely different. It will be a generalized program that will allow user-defined functions and operators (such as summation, &&, floor, etc). This generalizability should make the program more useful and applicable to most problems.
Some strategies include:
- Using Haskell to define all operators
- Keeping all data structured in a tree (not necessarily a binary tree)
- Using Wolfram Alpha API to compute integrals or derivatives
Some expected uses include:
- Algebra manipulations
- Calculus manipulations
- Boolean algebra manipulations
- Formal logic manipulations (if p then q)
- Logic gate design and manipulation
- Category Theory design
I’m going to try something else new as well: I promise to keep this program open source. Maybe it’s the right thing to do. I will use GitHub’s public repository so that anyone can help out or pick up from where I start.
I think Franklin put it best when he emphasized:
…that as we enjoy great advantages from the inventions of others we should be glad of an opportunity to serve others by any invention of ours, and this we should do freely and generously.
March 6, 2012