Abacus

The programmer's calculator

Download About Contribute Wiki

Features

Precision

Abacus uses a mathematical tool called Taylor Series to determine values as accurate as the user desires. Of course, this comes with some performance issues with larger numbers. However, Abacus has been tested to generate the value of e correctly to a thousand digits.

Configurable and Customizable

The very first idea for Abacus was inspired by how difficult it was to program a TI-84 calculator. Only two languages were available, TI-BASIC and Assembly, the latter having virtually no documentation. Determined to be better than a TI-84, Abacus implemented a plugin system that allows users to easily create and add plugins written in the same programming language as Abacus itself - Java. These plugins can access the full power of the language, and implement their own ways of handling numbers, as well as their own functions and even operators.

Besides the ability to add plugins, Abacus also adds some general options that can be used to make the user's experience more pleasant. For instance, it allows for a computation limit to be set in order to prevent excessively long evaluation: 8!!! is, for example, an expression that even Wolfram Alpha doesn't compute accurately, and will never finish on Abacus (it's simply too large). The computation limit will allow Abacus to kill a computation if it takes too long. Support for user-definable precision is also planned.

Built-in Documentation

Abacus plugins are given a mechanism to register documentation for the functions that they provide. The Abacus GUI displays these functions in a searchable list, allowing the user to read the parameters that have to be supplied to each function, as well as learn about its return value.

The search finds functions not only by their names, but also by relevant terms mentioned in the function's description, thus allowing related functions to be displayed together.