http://invisible-island.net/
Copyright © 1996-2019,2022 by Thomas E. Dickey


ADD – Full-Screen Editing Calculator

Synopsis

add is a fixed-point calculator that operates as a full-screen editor. It is designed for use as a checkbook or expense-account balancing tool.

add maintains a running result for each operation. You may scroll to any position in the expression list and modify the list. Enter data by typing numbers (with optional decimal point), separated by operators.

An output transcript may be saved and reloaded for further editing.

History

I originally wrote this in 1986, to replace a script I'd written for the IBM VM/SP CMS system at the ITT Advanced Technology Center. It's not advanced technology, but invaluable for its intended use.

When I started writing add, the prior art which I had in mind was the simple calculator which I wrote/used on an IBM 3270 terminal. It updated the screen by erasing and repainting it. But the goal in each was to show all of the inputs and running totals as if it were a hand calculation. If I had VisiCalc or something like that, the result probably would have been different.

Somewhat later (in the early 1990s), I noticed that there were a few Windows 3.1 applications with a similar idea; one was described as a tape calculator. Since those were shareware (and an unnecessary expense), I ignored them after some initial investigation.

Later (in 1993), I ported it to MS-DOS using PDCurses (while working on my port of vile). Vile of course did not use PDCurses (it used its own terminal drivers), and this was the first time I had used curses with color. I set it to white-on-blue:

Sample screenshot for ADD

Shortly after (in 1994), I found that ncurses did not behave the same for colors as PDCurses. After some pursuit, I was able to get this fixed (in 1995).

I put a copy of add on Sunsite at the end of 1995 having resolved the immediate problem with ncurses colors.

Since then, it has evolved.

A more complicated example for ADD


Changes

See the changelog for details:

Documentation

Download