Here's an idea for keeping track of significant figures in scientific programs and scientific calculations. Define a scientificNumber as:

(1)where N is the number, and F is the number of significant figures in the number. Then some things you can do with this format are:

- Extract the number from the scientificNumber X:
`abs(X` - Get the number of sig figs from X:
`10angle(X` - Multiply all the numbers in the list Ans:
`abs(prod(Ans))`*e*^(*i*min(angle(Ans - Add all the numbers in the list Ans:
`sum(abs(Ans))`*e*^(*i*(min(angle(Ans)-.1int(log(Ans)))+.1int(log(sum(abs(Ans

You could store the multiply and add routines in function variables (like **u** or **v**) to make these operations easy. For example, to add X and Y, all you'd need to do is `{X,Y}: v` or some such thing.

Then all that is needed is an input program, that takes a number inputted as a string, and puts it in the scientificNumber form, and an output program, that changes a scientificNumber into a string, and voila, basically a complete and easy to use significant figures system for scientific programs.

What do you think? Ideas, comments, suggestions?